Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Thread Methode Synchronisieren ?

  Alt 14. Aug 2014, 16: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat