Que ce passe-t-il aprés la libération du bouton, une erreur bien sûr !
(sur BT.Caption:='gaga').
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
procedure CreateDestroy;
var BT:TButton;
begin
  BT:=TButton.Create(Self);
  BT.Caption:='gogo';
  BT.Free;
  BT.Caption:='gaga';
  BT.Width:=120;
end;
et maintenant ??

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
procedure CreateDestroy;
var BT:TButton;
begin
 BT:=TButton.Create(Self);
 BT.Caption:='gogo';
 BT.Free;
 BT:=nil;
 BT.Caption:='gaga';
end;
Rien !?

et avec ça ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
procedure CreateDestroy;
var BT:TButton;
begin
 BT:=TButton.Create(Self);
 BT.Caption:='gogo';
 BT.Free;
 BT:=nil;
 BT.Caption:='gaga';
 BT.Width:=120;
end;
Erreur ! (sur BT.Width et non sur BT.Caption)

Quelle est l'explication ? un objet en générale n'existe pas aprés sa libération, comment peut-on lui affecter une valeur ?