Einzelnen Beitrag anzeigen

Oracle
(Gast)

n/a Beiträge
 
#6

Re: Thread wird in ActiveX Komponente nicht gestartet

  Alt 1. Okt 2007, 14:54
Danke x000x !!!
Der Link, den du mitgeschickt hast, hat mich zur Lösung gebracht.
Ich habe einfach folgenden Code mit in meinen eigenen Code eingepflegt und dann ging es.
Das Problem waren die unterschiedlichen Thread Synchronisations Modelle von Delphi und ActiveX.
Vielen Dank. I freu mi!!

Delphi-Quellcode:
const
   WM_CLSYNCHRONIZE = WM_USER + 1;
...
type
   TActiveFormX = class(TActiveForm, IActiveFormX)
      procedure WMclSynchronize(var Message: TMessage);
      message WM_CLSYNCHRONIZE;
...
procedure TActiveFormX.ActiveFormCreate(Sender: TObject);
begin
   Classes.WakeMainThread := DoOnWakeMainThread;
end;

procedure TActiveFormX.DoOnWakeMainThread(Sender: TObject);
begin
   PostMessage(Self.Handle, WM_CLSYNCHRONIZE, 0, 0);
end;

procedure TActiveFormX.WMclSynchronize(var Message: TMessage);
begin
   Classes.CheckSynchronize();
end;
  Mit Zitat antworten Zitat