[users-fr] Ooobasic, bug avec les dialogs
bonjour, j'ai réalisé un petit programme ooobasic, pour pouvoir modifier des lettres types. sur une page j'ai un bouton qui lance un programme. Ce programme ouvre une boite de dialogue nommée dialog1. lorsque je fait tourner ce programme en cours de programmation (c-à-d lorsque l'éditeur macro est ouvert et/ou vient d'être fermé) tout marche parfaitement. lorsque je lance le programme la première fois,à l'ouverture de la page , par une pression sur le bouton, j'ai un message d'erreur : Action non suportée. Appel de procédure incorrecte. cela m'ouvre l'éditeur et me montre la ligne fautive : Dlg = CreateUnoDialog(monDialogue) j'avoue que je ne comprendpas bien . Si je relance immédiatement le pragramme, sans fermer la page, le programme marche sans problème. Avez vous une idée ? Gérard Systeme : MandrakeLinux 10.1 OpenOffice 1.1.3 voici le programme fautif : nom de la macro : main() bibliothèque : Standart module : mon_test dialogue : Dialog conporte un bouton de validation et un champ de nom t1 ' 'déclaration des variables communes Dim monDocument As Object Dim nomDuDocument As String Dim Dlg As Object Dim monTexte As String Dim OKTexte As Boolean sub main() 'variable de main 'initialisation des variables monTexte = OKTexte = True 'routines lanceDialog() if OKTexte then ' ouvertureLettre() ' insertAuSignet() ' sauveLettre() else msgBox(Echec du dialog) end if end sub sub lanceDialog() 'variables pour le dialog Dim libDialog As Object Dim monDialogue As Object Dim exitOK As String 'routine exitOk = com.sun.star.ui.dialogs.ExecutableDialogResults.OK libDialog = DialogLibraries.GetByName(Standard) monDialogue = libDialog.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) if Dlg.Execute = exitOK then end if Dlg.Dispose end sub ' - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] Ooobasic, bug avec les dialogs
Bonsoir Gérard, Ce n'est pas la bonne liste pour cette question. Il faut utiliser la liste prog@fr.openoffice.org Si la macro est dans un document et pas dans le container soffice, je parierais compte tenu des symptômes sur le fait que la boite physique (dialog1) n'est pas trouvée et donc que la bibliothèque n'est pas chargée. Pourquoi ne pas préciser: oLibDoc = Thiscomponent.DialogLibraries rem donne accès au dialog librairies du doc. oLibDoc.LoadLibrary(Standard) rem charge la librairie. Gerard Kohler a écrit : bonjour, j'ai réalisé un petit programme ooobasic, pour pouvoir modifier des lettres types. sur une page j'ai un bouton qui lance un programme. Ce programme ouvre une boite de dialogue nommée dialog1. lorsque je fait tourner ce programme en cours de programmation (c-à-d lorsque l'éditeur macro est ouvert et/ou vient d'être fermé) tout marche parfaitement. lorsque je lance le programme la première fois,à l'ouverture de la page , par une pression sur le bouton, j'ai un message d'erreur : Action non suportée. Appel de procédure incorrecte. cela m'ouvre l'éditeur et me montre la ligne fautive : Dlg = CreateUnoDialog(monDialogue) j'avoue que je ne comprendpas bien . Si je relance immédiatement le pragramme, sans fermer la page, le programme marche sans problème. Avez vous une idée ? Gérard Systeme : MandrakeLinux 10.1 OpenOffice 1.1.3 voici le programme fautif : nom de la macro : main() bibliothèque : Standart module : mon_test dialogue : Dialog conporte un bouton de validation et un champ de nom t1 ' 'déclaration des variables communes Dim monDocument As Object DimnomDuDocument As String Dim Dlg As Object Dim monTexte As String Dim OKTexte As Boolean sub main() 'variable de main 'initialisation des variables monTexte = OKTexte = True 'routines lanceDialog() if OKTexte then 'ouvertureLettre() 'insertAuSignet() 'sauveLettre() else msgBox(Echec du dialog) end if end sub sub lanceDialog() 'variables pour le dialog Dim libDialog As Object Dim monDialogue As Object Dim exitOK As String 'routine exitOk = com.sun.star.ui.dialogs.ExecutableDialogResults.OK libDialog = DialogLibraries.GetByName(Standard) monDialogue = libDialog.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) if Dlg.Execute = exitOK then end if Dlg.Dispose end sub ' - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Didier Dorange-Pattoret http://www.dmaths.org http://sesamath.net S'inscrire à la liste de diffusion de dmaths: [EMAIL PROTECTED] Ses archives: http://listes.dmaths.org/wws/arc/users Les Forums: http://www.dmaths.org/modules.php?name=Forums Mailing List in english: http://www.dmaths.org/modules.php?name=Contentpa=showpagepid=9 Le livre de référence pour OpenOffice.org : http://www.amazon.fr/exec/obidos/ASIN/221211348X/dmaths-21 Programmation OpenOffice.org : http://www.amazon.fr/exec/obidos/ASIN/2212114397/dmaths-21 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [users-fr] Ooobasic, bug avec les dialogs
merci et encore milles excuses pour m'être trompé de liste Gérard Didier Dorange-Pattoret a écrit : Bonsoir Gérard, Ce n'est pas la bonne liste pour cette question. Il faut utiliser la liste prog@fr.openoffice.org Si la macro est dans un document et pas dans le container soffice, je parierais compte tenu des symptômes sur le fait que la boite physique (dialog1) n'est pas trouvée et donc que la bibliothèque n'est pas chargée. Pourquoi ne pas préciser: oLibDoc = Thiscomponent.DialogLibraries rem donne accès au dialog librairies du doc. oLibDoc.LoadLibrary(Standard) rem charge la librairie. Gerard Kohler a écrit : bonjour, j'ai réalisé un petit programme ooobasic, pour pouvoir modifier des lettres types. sur une page j'ai un bouton qui lance un programme. Ce programme ouvre une boite de dialogue nommée dialog1. lorsque je fait tourner ce programme en cours de programmation (c-à-d lorsque l'éditeur macro est ouvert et/ou vient d'être fermé) tout marche parfaitement. lorsque je lance le programme la première fois,à l'ouverture de la page , par une pression sur le bouton, j'ai un message d'erreur : Action non suportée. Appel de procédure incorrecte. cela m'ouvre l'éditeur et me montre la ligne fautive : Dlg = CreateUnoDialog(monDialogue) j'avoue que je ne comprendpas bien . Si je relance immédiatement le pragramme, sans fermer la page, le programme marche sans problème. Avez vous une idée ? Gérard Systeme : MandrakeLinux 10.1 OpenOffice 1.1.3 voici le programme fautif : nom de la macro : main() bibliothèque : Standart module : mon_test dialogue : Dialog conporte un bouton de validation et un champ de nom t1 ' 'déclaration des variables communes Dim monDocument As Object DimnomDuDocument As String Dim Dlg As Object Dim monTexte As String Dim OKTexte As Boolean sub main() 'variable de main 'initialisation des variables monTexte = OKTexte = True 'routines lanceDialog() if OKTexte then 'ouvertureLettre() 'insertAuSignet() 'sauveLettre() else msgBox(Echec du dialog) end if end sub sub lanceDialog() 'variables pour le dialog Dim libDialog As Object Dim monDialogue As Object Dim exitOK As String 'routine exitOk = com.sun.star.ui.dialogs.ExecutableDialogResults.OK libDialog = DialogLibraries.GetByName(Standard) monDialogue = libDialog.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) if Dlg.Execute = exitOK then end if Dlg.Dispose end sub ' - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]