Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Thread Methode Synchronisieren ?

  Alt 14. Aug 2014, 15:55
Als privates Feld (Variable) in der TThread1-Klasse, oder als lokale Variable in der Thread-Methode ... da hat dann jeder Thread seine eigene Variable und kann auch seine eigene TidHTTP-Instanz darin ablegen.


Zum Syncronisieren braucht man übrigens keine externen Variablen mehr.
Man kann beim Synchronize-Aufruf zwar immernoch keine Parameter übergeben, aber in anonymen Methoden kann man auf lokale Variablen zureifen.

Delphi-Quellcode:
proccedure TThread1.Execute;
var
  H: TidHttp; // kann auch in TThread1-Private deklariert sein, wenn man z.B. im Constuctor damit schon was machen/einrichten will
  S: string;
begin
  H := TidHttp.Create;
  try
    S := H.LoadFormIrgendwo;
    Synchronize(procedure
      begin
        MyForm.MyLabel.Caption := S;
      end);
  finally
    H.Free;
  end;
end;
Kurze Prozeduren, welche man nicht auch noch an anderen Stellen benötigt (ebenfalls dort drüben aufrufen will), die kann man so inline deklarieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat