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;