Bonjour,
Je realise un petit programme utilisant 2 TFrom. La Form1 est la form principale. Elle est sensé appeler une from2 au demarrage. Dans la form2 je permet à l'utilisateur de choisir divres paramètres (N° d'un port COM, vitesse de connection...).
Voici les declarations de ma form1:
Ca ca marche: au demarrage de l'application je vois bien la form2 (declaration ci-dessous)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, AdPacket, OoMisc, AdPort, ComCtrls, Grids, Math, Buttons, Unit2; type TForm1 = class(TForm) ApdComPort1: TApdComPort; [...] procedure FormResize(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ApdDataPacket1Packet(Sender: TObject; Data: Pointer; Size: Integer); private { Déclarations privées } public { Déclarations publiques } end; const nbCells = 10; Type var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i: integer; begin //Choix des paramètres COM //affichage de la form2 Application.CreateForm(TForm2, Form2); Form2.Show; Form2.SetFocus; end; end.
Mon problème est de fermer la form2 en rendant la main à la Form1 d'une part et de modifier des paramètres de la from1(le ApdComPort1.ComNumber par exemple)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39 unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCTrls; type TForm2 = class(TForm) ComboBox1: TComboBox; Label1: TLabel; Label2: TLabel; ComboBox2: TComboBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin // Form1.TEST:=TRUE; // Form1.SetFocus; Form1.ApdComPort1.ComNumber:=1; //Ici Form1 n'est pas disponible... si je l'ajoute dans les uses: delcarations circulaires!!! Form2.Close; end; end.
Toute aide est bienvenue... (j'ai trouver un topic proche sur le forum, mais j'ai beau le lire et le relire, j'avance pas...)
Partager