Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: TThread.Queue - Datenübergabe

  Alt 5. Mai 2020, 13: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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