

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
4 messages in org.openoffice.fr.progRe: [prog] Re: [qa-test] OOo 310 RC2 ...| From | Sent On | Attachments |
|---|---|---|
| Jean-Baptiste Faure | May 16, 2009 9:03 am | .odb |
| Bernard Marcelly | May 16, 2009 1:32 pm | |
| Jean-Baptiste Faure | May 17, 2009 7:44 am | |
| Bernard Marcelly | May 17, 2009 12:11 pm |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Re: [qa-test] OOo 310 RC2 Problèmes affichage dans Base | Actions... |
|---|---|---|
| From: | Bernard Marcelly (marc...@club-internet.fr) | |
| Date: | May 16, 2009 1:32:27 pm | |
| List: | org.openoffice.fr.prog | |
Message de Jean-Baptiste Faure date 2009-05-16 18:04 :
Le 16.05.2009 16:59, Didier LAMARE a écrit :
Bonjour Jean-Baptiste,
Merci pour le lien sur les nouveautés dans Base. Je l'avais déjà parcouru.
Le problème avec Lock/UnlockController est résolu, il suffit de remplacer "ThisComponent.lockControllers" par "ThisDataBaseDocument.lockControllers".
Par contre le deuxième problème est toujours d'actualité, et je suis à peu prés sûr que c'est un bug. En effet j'arrive à utiliser les autres méthodes de cet objet (getText, setEnable) et la métode isVisible me renvoie bien son statut (False ou True), mais il reste affiché à l'écran, alors que le statut est False.
Est-il possible d'ouvrir un incident?
Je joins un nouveau document, plus simple. Dans le formulaire "Formulaire1" les deux boutons réalisent la même opération, rendre visible ou invisible le champs d'étiquette "Cible". La différence est dans la manière d'accéder au document, le bouton "Change Etat_1" est la méthode utilisée en 301 avec la macro dans le formulaire, l'autre "Change Etat_2" est le méthode utilisée avec la 310, la macro est dans le fichier .odb. J'espère être clair.
Je te souhaire une bonne journée.
Cordialement Didier
Bonjour Didier,
On peut bien sûr soumettre un rapport de bug mais je crois qu'il est utile avant de le faire de demander confirmation sur la liste prog-fr où il y a des experts de la programmation dans OOo. Je mets donc la liste prog en copie. Comme je ne connais pas grand-chose aux macros et à OOo-Base je suis bien en peine de confirmer le problème et de l'expliquer en anglais sur IZ. Donc si un expert es macros pouvait nous en dire plus, ce serait sympa. Je remets le fichier de test en pièce jointe.
Le codage de la macro "Main" est inutilement complexe. Mais effectivement, le basculement de Visible ne fonctionne pas.
1 - La macro étant déclenchée depuis un formulaire, ThisComponent renvoie le
document formulaire. A partir de là, on récupère facilement le contrôle.
2 - le formulaire utilise un contrôle Etiquette. Je l'ai remplacé par un
contrôle Texte pour voir ce qui se passe quand le contrôle est supposé
invisible.
3 - Si on bascule un contrôle en invisible, il est inutile de basculer son état
Enable, car on ne peut plus le modifier.
4 - OOoBasic n'optimise pas les codages : répéter les séquences xx.yy.zz est non
seulement pas clair mais pas rapide. J'ai employé des variables intermédiaires.
Voilà le résultat:
Sub Main Dim formulaireEnCours as Object, ctrlTexte As Object, vueCtrl As Object Dim oView As Object
formulaireEnCours = ThisComponent.DrawPage.Forms.getByName("Standard") ctrlTexte = formulaireEnCours.getByName("Cible") oView = ThisComponent.CurrentController vueCtrl = oView.getControl(ctrlTexte) vueCtrl.Visible = not vueCtrl.isVisible MsgBox("Visible ? " & vueCtrl.isVisible) End Sub
A l'exécution on constate :
- le message affiche bien False, True, False, avec des appuis successifs du
bouton.
- le contrôle reste toujours visible, mais il ne peut être modifié quand il est
"supposé invisible".
Tu peux faire un rapport en fournissant un document simplifié (changer la macro Main, mettre un contrôle Zone de texte, supprimer le bouton et la macro concernant la version 3.0.1).
Cordialement, Bernard








.odb