Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Aufgabe in einen Thread auslagern

  Alt 8. Okt 2010, 17:10
Sorry bitte löschen, ich hatte nicht gesehen daß es um C# ging

Eine Idee, nur angerissen,
zwischedurch Synchronize(Inform) aufrufen , FStatus als Threadklassenvariable

Delphi-Quellcode:
constructor TMyThread.Create(var CallBack:TCallBack);
begin
  inherited Create(TRUE);
  FCallBack:=CallBack;
  InterlockedIncrement(ScalethreadCount);
  OnTerminate := HandleOnTerminate;
  FreeOnTerminate := True;
end;

procedure TMyThread.Inform;
begin
   if Assigned(CallBack) then CallBack(FStatus);
end;

procedure TMyThread.HandleOnTerminate(Sender: TObject);
begin
  InterlockedDecrement(ScalethreadCount);
  try
  if Assigned(FInform) then FInform(self);
  except end;

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi ( 8. Okt 2010 um 17:20 Uhr)
  Mit Zitat antworten Zitat