radojovanovic
Messages postés1Date d'inscriptionmercredi 5 août 2009StatutMembreDernière intervention18 novembre 2011 18 nov. 2011 à 17:25
Bonjour, j'ai lu ton code et il me semble que tu as fais une erreur en ligne 82, car p_EditForm1 appartient à Tform2
alors qe c'est le contriaire que tu veux et que tu fais
et en ligne 86 tu dis que tu change le texte de la fiche1 par celui de la fiche2
82.procedure TForm1.Button1Click(Sender: TObject);
83.begin
84. //Si ma propriété à été défini
85. if Assigned(p_EditForm1) then
86. //Je change le text de la forme1 pour celui de la forme 2
87. p_EditForm1.Text := Edit1.Text;
88.end;
En programmation objet, il n'y a que la fiche principale qui connait (uses) les autres fiches, les autres fiches doivent être indépendantes l'une de l'autre.
Pour que la fiche2 reçoive des informations de la fiche1 et sans que la fiche2 connaissent(uses) la fiche1, il faut créer un objet intermédiaire, qui lui sera connue des deux fiches, tu le crées et tu le remplis dans la première fiche et tu le transmets à la seconde de la même manière que tu as fait avec p_editForm1. A l'affichage de la fiche2, tu vérifies que la propriété est assignée et si oui tu en extrais les informations sur les propriétés de la fiche2
ioda19
Messages postés21Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention20 juin 2007 15 nov. 2011 à 22:40
Effectivement philnext pour ce code qui est très simpliste ce serait possible
Par contre, dans le cas d'une forme complexe avec beaucoup de code, ça deviendrais assez spaghetti comme code je crois.
cs_philnext
Messages postés9Date d'inscriptiondimanche 11 juillet 2004StatutMembreDernière intervention29 novembre 2010 14 nov. 2011 à 10:26
Pourquoi pas...
En fait dans ce genre de cas de figure tu peux aussi ne pas créer visuellement de Unit2, et créer avec du code, ta deuxième TForm.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 13 nov. 2011 à 13:54
et un zip du projet..
ioda19
Messages postés21Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention20 juin 2007 11 nov. 2011 à 22:23
J'utilise Delphi 6 Enterprise avec toutes les updates
pour le SE ça dépend mais plus à 90% du temps WindowsXP
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 11 nov. 2011 à 22:13
18 nov. 2011 à 17:25
alors qe c'est le contriaire que tu veux et que tu fais
et en ligne 86 tu dis que tu change le texte de la fiche1 par celui de la fiche2
82.procedure TForm1.Button1Click(Sender: TObject);
83.begin
84. //Si ma propriété à été défini
85. if Assigned(p_EditForm1) then
86. //Je change le text de la forme1 pour celui de la forme 2
87. p_EditForm1.Text := Edit1.Text;
88.end;
En programmation objet, il n'y a que la fiche principale qui connait (uses) les autres fiches, les autres fiches doivent être indépendantes l'une de l'autre.
Pour que la fiche2 reçoive des informations de la fiche1 et sans que la fiche2 connaissent(uses) la fiche1, il faut créer un objet intermédiaire, qui lui sera connue des deux fiches, tu le crées et tu le remplis dans la première fiche et tu le transmets à la seconde de la même manière que tu as fait avec p_editForm1. A l'affichage de la fiche2, tu vérifies que la propriété est assignée et si oui tu en extrais les informations sur les propriétés de la fiche2
15 nov. 2011 à 22:40
Par contre, dans le cas d'une forme complexe avec beaucoup de code, ça deviendrais assez spaghetti comme code je crois.
14 nov. 2011 à 10:26
En fait dans ce genre de cas de figure tu peux aussi ne pas créer visuellement de Unit2, et créer avec du code, ta deuxième TForm.
13 nov. 2011 à 13:54
11 nov. 2011 à 22:23
pour le SE ça dépend mais plus à 90% du temps WindowsXP
11 nov. 2011 à 22:13