Bonjour

Dernier jour avant 2 semaines de congés et j'aimerais comprendre :

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
 
var
  Th: TThreadTest;
 
procedure TForm14.Button1Click(Sender: TObject);
begin
  Th := TThreadTest.Create(True);
  Th.FreeOnTerminate := True;
  Th.OnTerminate := FinThread;
  Th.Start;
end;
 
procedure TForm14.Button2Click(Sender: TObject);
begin
   Memo1.Lines.Add( BoolToStr(Th = nil, True) );
end;
 
procedure TForm14.FinThread(Sender: TObject);
begin
  Memo1.Lines.Add( TThreadTest(Sender).ThreadID.ToString + ' fini' );
end;
Pourquoi le clic sur le bouton 2 affiche False ??

Autrement dit, le thread une fois terminé ne devrait-il pas être nil ?