Bonjour,

j'ai une TForm créée de façon dynamique avec des boutons, Labels et Edit. J'ai codé ceci :

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
  // Creation de la boite de dialogue de saisie
  FormNew := TForm.Create(self);
  try
    With FormNew Do
      Begin
        Height := 143 ;
        ...
      End ;
    //  Label1
    Label1 := TLabel.Create(FormNew) ;  // Ou TLabel.Create(Self) ???
    With Label1 Do
      Begin
        Caption := 'Rep courant : ' ;
        ....
        Parent := FormNew ;
      End ;
    ...
    j := FormNew.Showmodal ;
    Case j of
      mrOk     : ...
      mrCancel : ...
    End;
 
    If (FormNew <> nil) Then
      Begin
        ...
        Label1.Free ;   // Obligation de libérer les enfants avant libération de FormNew ???
      End ;
  finally
    If (FormNew <> nil) Then FormNew.Free;
  end;
Mes premières interrogations sont dans le code en commentaires.

De plus, faut il impérativement protéger par un Try ... Except, la création de chacun des composants de FormNew. Si je le fais, cela risque de faire une cascade importante de Try Except ...

Quelqu'un peut il me corriger et m'améliorer mon code ?

Merci
Charly