Servus,
ich machs kurz: In einer
DLL wird ein Thread erstellt, in dem ich wiederum ein Object erstelle, auf dessen Ereignisse ich reagieren möchte.
Ansonsten hat der Thread keine weiteren Aufgaben, ich möchte praktisch nur ressourcenschonend auf Ereignisse warten.
Basteleien mit WaitForSingleObject in Verbindung mit CreateEvent und SetEvent haben ins Leere geführt.
Wie macht man das richtig?
Delphi-Quellcode:
library MyObjProject;
uses
Classes;
{$R *.res}
type
TMyThread = class(TThread)
private
Obj: TMyObj;
procedure OnSomeEvent;
protected
procedure Execute; override;
end;
{ TMyThread }
procedure TMyThread.Execute;
begin
Obj := TObject.Create;
{jetzt arbeitet das Object}
{Eventhandler zuweisen}
Obj.OnSomeEvent := OnSomeEvent;
{hier jetzt auf Events warten... nur wie?}
end;
procedure TMyThread.OnSomeEvent;
begin
{...}
end;
begin
TMyThread.Create(false);
end.
Danke schonmal.
Björn