Le 16.05.2009 22:33, Bernard Marcelly a écrit :
>
> 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
Bonjour Bernard,
Pierre-Yves Samyn estime que ce problème est un retour de celui-ci :
http://qa.openoffice.org/issues/show_bug.cgi?id=83611.
Est-ce que tu confirmes ? Sinon je ferai un rapport de bug comme tu le
proposes.
Bonne journée
JBF
--
Seuls des formats ouverts peuvent assurer la pérennité de vos documents.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]