Thread transitoire par procédure anonyme (TThread.CreateAnonymousThread) Thread:transitoire par procédure anonyme
Des améliorations notables de syntaxe ont été apportées dans les dernières versions de Delphi XE. Maintenant, pour désynchroniser une action il n’est plus nécessaire de déclarer entièrement une nouvelle classe héritant de TThread. Dans le cas où l’on n’utilise cette désynchronisation qu’à un seul endroit et qu’il n’y a aucun code à mettre en commun, on peut utiliser le concept de « procédure anonyme ».
L’appel à la méthode CreateAnonymousThread raccourcit l’implémentation exposée précédemment. Le paramètre de la méthode est une procédure anonyme ne prenant aucun paramètre. Cependant, on pourra utiliser des variables de la procédure appelante sans problème.
Ainsi, on aura :
procedure TForm1.btnCalculClick(Sender: TObject);
var AThread:TThread;
iterMax:integer;
begin
//
iterMax := SpinEdit1.Value;
AThread := TThread.CreateAnonymousThread(procedure()
var iter:integer;
myRadian:Extended;
calculResult:double;
begin
iter := 0;
while (iter<iterMax) do
begin
...