Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: TThread.Queue - Datenübergabe

  Alt 5. Mai 2020, 14:20
Bei einer Funktion/Methode garnicht, da ist es genau so, wie es schon seit Jahrzehnten für Synchronize in allen Beispielen gezeigt wird.
"globale" variablen

Aber bei einer anonymen Methode kann man einfach Variablen durchreichen.

Delphi-Quellcode:
procedure Test;
var
  S: string; // diese lokale Variable wird von Delphi in ein Interface verpackt und alle Prozeduren nutzen eine Referenz darauf
begin
  S := 'Hallo Welt';
  TThread.Syncronize(nil, procedure
    begin
      S := S + '!';
    end);
  TThread.Queue(nil, procedure
    begin
      ShowMessage(S);
    end);
end;
Hier wäre es zu praktich, wenn man Queue/Syncronize einen Data-Parameter mitgeben könnte, so wie man es von anderen "Callbacks" kennt, was es hier aber nicht gibt.
$2B or not $2B

Geändert von himitsu ( 5. Mai 2020 um 14:22 Uhr)
  Mit Zitat antworten Zitat