Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai créer deux objets (objet 1 et objet 2), ensuite je les ai mis sur une fenêtre. Et pour l'instant, lors de l'execution, c'est le constructeur de l'objet 1 qui se lance avant le constructeur de l'objet 2, et moi je voudrai l'inverse. Est ce possible?
Dernière modification par poche (05-09-2007 14:37:49)
Hors ligne
Je pense que si tu les inverses dans le code source en faisant Edit Source et en cherchant le create de ta fenetre ça doit pouvoir se faire. J'pense pas que ça soit bien dangereux mais en même temps, je suis pas non encore assez calé en PB pour y mettre ma main à couper.
Fais un SaveAs de ta window histoire de garder sous la main une version intacte en cas de problème.
Hors ligne
Mr Pink Eyes a écrit:
Je pense que si tu les inverses dans le code source en faisant Edit Source et en cherchant le create de ta fenetre ça doit pouvoir se faire. J'pense pas que ça soit bien dangereux mais en même temps, je suis pas non encore assez calé en PB pour y mettre ma main à couper.
Fais un SaveAs de ta window histoire de garder sous la main une version intacte en cas de problème.
j'opterais pour la même solution
Hors ligne
ok, Merci
Hors ligne
Dans tes objets, créé un user event que tu appelera "ue_postConstructor"
Ensuite dans les evts constructor tu fais un petit :
This.event post ue_postConstructor()
Tous les evts ue_postConstructor s'exécutent après les evts contructor
D'autre part, sache que l'evts Open de la fenêtre s'exécute toujours après les contructor de ses contrôles.
La solution de Mr Pink Eyes me parait assez dangereuse. En effet, l'ordre pourrait s'inverser après une migration de version PB.
Hors ligne
Précision sur les post, ils s'exécuteront plus tard mais dans l'ordre des ils ont été postés (FIFO). Donc si le but est d'exécuter un code de l'objet 2 avant l'objet 1 le problème reste entier.
Mais pour moi, un tel problème dénote plus un problème de conception de l'application.
Que veux-tu faire exactement ?
(un bon post d'un event postopen dans l'event open de la window et 2 trigger event dans l'ordre choisi dans l'event postopen de la window me semble être la solution)
Hors ligne
shahin a écrit:
La solution de Mr Pink Eyes me parait assez dangereuse. En effet, l'ordre pourrait s'inverser après une migration de version PB.
très juste
Hors ligne
Voila, j'ai objet qui hérite d'un tab control, ensuite je l'ai codé pour qu'il cré autant de data window que d'onglet (donc je déclare deux variables, une de type datawindow et une autre de type window). Ensuite, je pose cette objet sur une fenêtre, j'initialise les variables de l'objet dans le constructeur dans le constructeur de cette objet. Et le problème est lorsque j'execute le programme, il commence par le constructeur de cette objet et ensuite par le constructeur des datawindows, donc lorsque j'initialise les variables, il connait pas la datawindow que je lui ai affecter.
Hors ligne
pourquoi tu ne fais pas le tout dans le open... ou post_open ?
comme ca, tu pourras mettre ce que tu veux , et l'ordre que tu veux.
Hors ligne
pick ouic a écrit:
pourquoi tu ne fais pas le tout dans le open... ou post_open ?
comme ca, tu pourras mettre ce que tu veux , et l'ordre que tu veux.
On est d'accord
même si mon message entre parenthèse n'était pas très clair
Hors ligne
Si je fait ça, à quoi ç a sert de créer un objet alors?
Hors ligne
poche a écrit:
Si je fait ça, à quoi ç a sert de créer un objet alors?
???????????????????????? la, je n'ai pas compris...
Hors ligne
poche a écrit:
Si je fait ça, à quoi ç a sert de créer un objet alors?
Moi je dirai à le mettre en mémoire... m'enfin je dis peut-être une connerie
Dernière modification par Mr Pink Eyes (29-08-2007 14:36:24)
Hors ligne
Y a pas que dans le constructeur, il y a aussi des évenements que j'ai dois passer en premier, donc mon problème reviens toujours au même...
Hors ligne
poche a écrit:
Y a pas que dans le constructeur, il y a aussi des évenements que j'ai dois passer en premier, donc mon problème reviens toujours au même...
des evenements ? bah à moins de n'avoir rien compris à ton problème, t'as juste à les appeller dans ton ue_open avec un triggerevent non ?
Hors ligne
franchement, je ne vois pas le probleme...
un evenement, on peut l'appeler !
Hors ligne
ok, merci pour votre patience...
Hors ligne
poche a écrit:
ok, merci pour votre patience...
N'hésite pas si tu as un problème pour l'implémenter
Hors ligne
de rien
Hors ligne
poche a écrit:
Si je fait ça, à quoi ç a sert de créer un objet alors?
La programmation objet : qu’est-ce que c’est ? à quoi ça sert ?
Hors ligne
shahin a écrit:
poche a écrit:
Si je fait ça, à quoi ç a sert de créer un objet alors?
La programmation objet : qu’est-ce que c’est ? à quoi ça sert ?
Argl C et Pascal classé dans les L4G !
Pour moi (et pour Sybase aussi d'ailleur) Powerbuilder est un L4G mais C, Pascal et Java sont des L3G...
Pour info, PB est apparu dans sa version 1.0 en août 1990.
C'était le premier générateur de C++, RAD, L4G du marché !
Hors ligne
Tout à fait d'accord Chrnico.
Je vous propose autre chose alors : http://www.rds.co.za/oop-tutorials.htm
Hors ligne