Hi Tpercon,
ich hatte mal ähnliches Problem und dies so gelöst:
Delphi-Quellcode:
type TMyCloseEvent = procedure(Sender : TObject; Value : Integer) of Object;
Hierbei kann natürlich für Value jeder beliebige Typ genutzt werden.
Im Thread dann:
Delphi-Quellcode:
type
TMyThread = class(TThread)
.
.
.
private
FMyCloseEvent : TMyCloseEvent;
public
property OnMyClose : TMyCloseEvent read FMyCloseEvent write FMyCloseEvent;
end;
// im Code MyThread
If Assigned(FMyCloseEvent) then FMyCloseEvent(self, Wert);
Im Hauptprogramm:
Delphi-Quellcode:
// Ereignisse
procedure OnThreadClose(Sender : TObject; Value : Integer);
// zum Zeitpunkt Thread-Create
MyThread := TMyThread.Create(LastClose);
MyThread.OnMyClose := OnThreadClose;
Im Code für die procedure OnThreadClose des Hauptprogramms kann dann in geeigneter Form der Wert Value weiterverarbeitet werden. Durch den Sender bekommt man automatisch auch mit, welcher Thread diesen liefert. Das ist vorallem interessant, wenn man mehrere dieser Threads startet.
Nach diesem Schema hab ich das schon verarbeitet und es funzt super.
Gruß oki