Bonjour,

J'ai un petit projet à faire en delphi, et je suis pas super habitué de ce langage. Pour aleger mon programme, j'ai crée 2 Unit, et j'aimerai acceder aux composant de l'unit1 depuis l'unit2.

Mon probleme est le suivant (illustré avec un 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
 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
uses Unit2;
 
{$R *.DFM}
 
end.
L'unit2:
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 Unit1,StdCtrls;
 
var
   Edit1:TEdit;
implementation
 
 
initialization
 
Edit1:=Form1.Edit1;
 
 
end.
Je ne souhaite pas appeller tous les composant de l'unit1 par Form1.composant, pour des raisons assez compliquées.
J'ai donc pensé creer des variables dans mon Unit2, et leur affecter la valeur des composant de l'unit1 à l'initialisation..... Mais ca plante.

Je suppose que l'initialisation se fait avant la creation de l'objet form1, mais j'en suis pas sur. Est ce que quelqu'un pourrait m'eclairer ?

Ou suis-je obliger de faire une fonction init() dans Unit2 que j'appellerais dans l'evenement OnCreate de Form1?

Désolé si j'ai pas été bien clair, j'espere que vous m'avez compris. Je pense que c'est un probleme frequent en delphi, ou du moins certain d'entre vous y ont peut etre ete confronté.

Merci d'avance