Hi,
wie gesagt, ich machs mit
PostMessage(Application.Mainform.Handle, WM_MEINEMESSAGE, 0, 0);
im Mainform deklarierst Du im Protected Abschnitt:
Delphi-Quellcode:
procedure WMMEineMessage(var Msg:tMessage); message WM_MEINEMESSAGE;
...
procedure WMMeineMessage(var Msg:tMessage);
begin
// und hier kannst Du dann tun wozu dich der Thread auffordert.
end;
Synchronize benutzt übrigens auch das Windows Message Handling zur Synchronisation.
Und die ThreadID vom Mainthread sollte dieser sich vorher holen und an den anderen Thread übergeben.
Dazu gibt es
GetCurrentThreadID
oder so ähnlich
Gruss