Bonjour.
J'ai un petit problème avec une notion pour delphi7. Je souhaiterais pouvoir programmer deux unités, une principale et une auxiliaire, pour une seule fiche. Mon problème est de comprendre comment faire interagie les deux fiches.
Je vous donne un code d'exemple :
l'unité principale :
l'unité auxillaire :
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 testdeuxunits; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; a:integer; implementation uses unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin a:=strtoint(edit1.text); showmessage(inttostr(a)); end; procedure TForm1.Button2Click(Sender: TObject); var b:integer; begin b:=valeurf(a); showmessage('la valeur de f est '+inttostr(b)); end; end.
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 unit Unit2; interface uses testdeuxunits,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; var f:integer; implementation function valeurf(alpha:integer):integer; begin f:=alpha*10; end; end.
Si je fait fonctionner directement la fonction f dans l'unité auxillaire, et je demande le résultat dans l'unité proncipale, ça marche. Le fait est que comme j'ai l'interface graphique dans l'unité principale, j'aimerais utiliser la fonction f définie dans unit2 dans l'unité testdeuxunits en utilisant la valeur a rentrée par l'utilisateur. Or ça m'affiche inlassablement b=0.
Désolé de mon incompétance, mais je me forme un peu sur le tas par nécessité.
merci
Partager