Appeler un etat avec une bibliotheque
Appeler un etat avec une bibliotheque
Je mets en place les exemples de ton super didacticiel, je n'ai jamais utiliser ni les bibliotheques, ni les USES, ni les constantes.
Mais là je bloque pour ouvrir un etat à partir d'une fiche pour aller chercher le code dans la bibliotheque. Ca marche pas !!
----------------------------------------------
method pushButton(var eventInfo Event)
Lib.ConstMenu("CAPITAL.rsl")
endMethod
----------------------------------------------
et ta methoque ecrite dans une bilbliotheque
-----------------------------------------------
Var
PmFichier,PmEtat PopUpMenu
M Menu
Etat Report
EndVar
Etat.open(NomEtat)
Etat.maximize()
if not M.isAssigned() then
PmFichier.AddText("&Imprimer...",MenuEnabled,MenufilePrint)
PmFichier.AddText("&Configurer l'imprimante...",MenuEnabled,MenufilePrinterSetUp)
PmFichier.AddText("&Fermer",MenuEnabled,MenuControlClose)
PmEtat.AddText("Première page",MenuEnabled,MenuReportPageFirst)
PmEtat.AddText("Page suivante",MenuEnabled,MenuReportPageNext)
PmEtat.AddText("Page précédente",MenuEnabled,MenuReportPagePrevious)
PmEtat.AddText("Dernière page",MenuEnabled,MenuReportPageLast)
PmEtat.AddText("Aller à la page...",MenuEnabled,MenuReportPageGoto)
M.AddPopUp("&Fichier",PmFichier)
M.AddPopUp("&Etat",PmEtat)
endif
Etat.setmenu(M)
Mais là je bloque pour ouvrir un etat à partir d'une fiche pour aller chercher le code dans la bibliotheque. Ca marche pas !!
----------------------------------------------
method pushButton(var eventInfo Event)
Lib.ConstMenu("CAPITAL.rsl")
endMethod
----------------------------------------------
et ta methoque ecrite dans une bilbliotheque
-----------------------------------------------
Var
PmFichier,PmEtat PopUpMenu
M Menu
Etat Report
EndVar
Etat.open(NomEtat)
Etat.maximize()
if not M.isAssigned() then
PmFichier.AddText("&Imprimer...",MenuEnabled,MenufilePrint)
PmFichier.AddText("&Configurer l'imprimante...",MenuEnabled,MenufilePrinterSetUp)
PmFichier.AddText("&Fermer",MenuEnabled,MenuControlClose)
PmEtat.AddText("Première page",MenuEnabled,MenuReportPageFirst)
PmEtat.AddText("Page suivante",MenuEnabled,MenuReportPageNext)
PmEtat.AddText("Page précédente",MenuEnabled,MenuReportPagePrevious)
PmEtat.AddText("Dernière page",MenuEnabled,MenuReportPageLast)
PmEtat.AddText("Aller à la page...",MenuEnabled,MenuReportPageGoto)
M.AddPopUp("&Fichier",PmFichier)
M.AddPopUp("&Etat",PmEtat)
endif
Etat.setmenu(M)
-
- Site Admin
- Messages : 855
- Enregistré le : sam. sept. 14, 2002 10:41 pm
- Localisation : Igny (Essonne)
Alors dans le use de la fiche il faut déclarer la fonction de la bibilothèque
uses Objectpal
ConstMenu(Const NomEtat String)
enduses
(En passant ce n'était pas très malin de ma part de passer par une constante ! Je m'en suis rendu compte récemment. Il vaut mieux transmettre une variable nom de fichier)
Puis n'importe où dans la fiche tu appelles :
Var
Lib Library
EndVar
Lib.open(":MonAlias:MaLib")
Lib.ConstMenu(":MonAlias:MonEtat")
Lib.close()
Bon la librairie peut rester ouverte (ouverture dans l'open de la fiche par exemple et fermeture dans le close).
Tu as l'exemple détaillé ici : http://www.clairinfo.fr/fichiers/Tut_pdox_7.htm
Je suis content si mon tutorial peut t'aider
Il faut que je m'y remette...
uses Objectpal
ConstMenu(Const NomEtat String)
enduses
(En passant ce n'était pas très malin de ma part de passer par une constante ! Je m'en suis rendu compte récemment. Il vaut mieux transmettre une variable nom de fichier)
Puis n'importe où dans la fiche tu appelles :
Var
Lib Library
EndVar
Lib.open(":MonAlias:MaLib")
Lib.ConstMenu(":MonAlias:MonEtat")
Lib.close()
Bon la librairie peut rester ouverte (ouverture dans l'open de la fiche par exemple et fermeture dans le close).
Tu as l'exemple détaillé ici : http://www.clairinfo.fr/fichiers/Tut_pdox_7.htm
Je suis content si mon tutorial peut t'aider
Il faut que je m'y remette...
Et dans les scripts, ca marche ?
Uses ObjectPal
ConstMenu(Const NomEtat String)
endUses
est refusé dans le script !!!
ConstMenu(Const NomEtat String)
endUses
est refusé dans le script !!!
Bibliotheques
Je te disais des bétises, ca marche trés bien avec le scripts, le seul probleme est que la fiche qui appelle le script, et ldonc l'état reste devant, malgré toutes les commandes de bringtotop() maximize()...
Saperlipopette !!!
Saperlipopette !!!
-
- Site Admin
- Messages : 855
- Enregistré le : sam. sept. 14, 2002 10:41 pm
- Localisation : Igny (Essonne)
Heu je suis un peu perdu
Faisons simple, la fiche (pas besoin de script !) déclare la routine de la librairie. Un bouton de la fiche (par exemple) lance donc un état à l'écran (c'est l'objectif de la routine ConstMenu). Oui cet état est devant tout le reste. C'est le résultat désiré pour ma part. L'utilisateur consulte, imprime éventuellement puis ferme son état. Il retrouve alors ce qu'il y a dessous, normalement la fiche.
C'est quoi le problème ?
Faisons simple, la fiche (pas besoin de script !) déclare la routine de la librairie. Un bouton de la fiche (par exemple) lance donc un état à l'écran (c'est l'objectif de la routine ConstMenu). Oui cet état est devant tout le reste. C'est le résultat désiré pour ma part. L'utilisateur consulte, imprime éventuellement puis ferme son état. Il retrouve alors ce qu'il y a dessous, normalement la fiche.
C'est quoi le problème ?
-
- Site Admin
- Messages : 855
- Enregistré le : sam. sept. 14, 2002 10:41 pm
- Localisation : Igny (Essonne)
Ah si j'ai peut-être compris (moi parfois un peu lent )
Tu veux dire que chez toi l'état n'est pas visible car la fiche reste devant ?
Alors ce comportement n'est pas le cas d'une fiche standard sans code particulier. Tu devrais pouvoir donc faire un petit test avec une nouvelle fiche vierge de tout code pour vérifier que ça marche. Si c'est le cas le problème viendrait d'une particularité de ta fiche à déterminer.
Tu veux dire que chez toi l'état n'est pas visible car la fiche reste devant ?
Alors ce comportement n'est pas le cas d'une fiche standard sans code particulier. Tu devrais pouvoir donc faire un petit test avec une nouvelle fiche vierge de tout code pour vérifier que ça marche. Si c'est le cas le problème viendrait d'une particularité de ta fiche à déterminer.