Bonjour ;
G deux Forms Form1, Form2 dans le meme projet
Je voudrais creer dans le Form1 une fonction qui soit utilisable dans les deux.
Quel doit etre le principe pour faire cela proprement?
Version imprimable
Bonjour ;
G deux Forms Form1, Form2 dans le meme projet
Je voudrais creer dans le Form1 une fonction qui soit utilisable dans les deux.
Quel doit etre le principe pour faire cela proprement?
Bonjour,
houla... faut que tu sois un peu plus clair!
veut tu faire une fonction ou une méthode?
est ce qu'il y a un lien entre les 2 form?
Pourquoi ne pas mettre la fonction dans une unité supplémentaire, et inclure le header dans les 2 form?
Salut,
De prime abord, les deux formulaires n'ont aucun besoin de se connaitre, hormis si l'un dépend directement de l'autre (que le deuxième n'est, par exemple, appelable que par le premier, et sert de "sous formulaire")
Si il faut absolument que tu récupères dans le deuxième formulaire une information issue du premier, ce sera à l'objet qui les contient tous les deux de faire en sorte de récupérer cette information du premier et de la transmettre au deuxième ;)
Salut toubiblud49
peut etre comme ceci
le .ccp Form1
le .h Form1Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" //ne pas oublier //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Form2->Show(); Form2->Label1->Caption = "toto"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Form2->essai(); } //---------------------------------------------------------------------------
le .cpp Form2Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; TButton *Button2; void __fastcall Button1Click(TObject *Sender); void __fastcall Button2Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif
le .h Form2Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //ne pas oublier #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- TForm2::essai() { Form2->Label2->Caption = "titi"; }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //--------------------------------------------------------------------------- #ifndef Unit2H #define Unit2H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> //--------------------------------------------------------------------------- class TForm2 : public TForm { __published: // IDE-managed Components TLabel *Label1; TLabel *Label2; private: // User declarations public: // User declarations __fastcall TForm2(TComponent* Owner); essai(); }; //--------------------------------------------------------------------------- extern PACKAGE TForm2 *Form2; //--------------------------------------------------------------------------- #endif