Letztendlich müsste das so funktionieren:
Delphi-Quellcode:
procedure TmyThread.DoSynchronizeCommandEvent
begin
{ Hier das für die Anwendung bestimmte Event aufrufen }
fCurrentCommand.Event;
end;
{ Hierhin wird das Event des Commands umgeleitet,
kurz vor Ausführung des Commands muss dem Thread
natürlich dessen Event übergeben werden }
procedure TmyThread.CommandEvent(ACommand: TCommand);
begin
{ Nun entweder hierüber das echte Event des
Commands aufrufen, dies muss dann sychronisiert
erfolgen... }
Synchronize(DoSynchronizeCommandEvent);
{ ODER hier das eigene Event des Threads aufrufen,
über dessen Parameter das aktuelle Command
übergeben wird }
self.RunEvent(CurrentCommand);
end;
Natürlich müsstest du bei Anwendung der ersten Methode
(Synchronize) in deinem Command bzw. Job ein zweites Event
haben,
eins für die Benachrichtigung des Threads,
ein zweites Event für die Anwendung.
Gruß
Pfoto