Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Santa Marta / Colombia
353 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Best Practice : ein Object in enem anderen Thread abfragen

  Alt 25. Jan 2019, 17:24
Ich würde ein BusyFlag als Integer spendieren, und mit
Delphi-Quellcode:
function GetBusy : Boolean;
begin
  LRes := TInterlocked.Exchange( LThreadFlag, LThreadFlag);
  Result := LRes <> 0;
end;
abfragen, sicherheitshalber.
Was Peter schreibt stimmt schon, aber weil die Busy-Abfrage ja nicht permanent läuft würde ich mir da etwas mehr "Freiraum" drumrum schaffen,
damit nicht bei plötzlichen Änderungen des Typs aus Versehen etwas in die Hose geht.
Das mit dem Exhange geht nicht, da es keine Object properties annimmt und da ich mehrere Instanzen des Objects habe, kann ich keine globale variable nehmen.
Im moment mache ich das setzen von aussen mit critical sections, das lesen ohne. Von innen (im thread) wird es nur gelesen, nur beim erzeugen einmal auf False gesetzt.
  Mit Zitat antworten Zitat