Danke für eure Hilfe!
Werde mir das mit PostThreadMessage noch ansehen.
Ich habe es derweilen so gelößt:
Hauptform gibt dem Thread die Nachricht das eine Stringlist abzuholen ist.
Da holt sich der Thread über Synchronize die TStringlist von der Hauptform ab.
Geht soweit ganz gut!
EDIT:
Habe mir nun PostThreadMessage angesehen.
Mein Thread erhält auch die Nachrichten.
Im Thread habe ich eine Dauerschleife mit while not Terminated
In dieser Schleife werte ich so die Nachrichten aus:
Delphi-Quellcode:
while not Terminated do
begin
if MyIdTCPClient.Connected then begin
Sleep(10);
//check first if message got received from mainform:
Peekmessage(Msg, 0, 0, 0, PM_REMOVE);
TranslateMessage(Msg);
DispatchMessage(Msg);
case Msg.message of
...
..
Nun habe ich das Problem, das meine Nachricht Msg.message zwei mal ansteht.
Wenn ich im Case Msg.message nach erhalt der Nachricht Msg.message := 0 setze geht es.
Warum bekomme ich die Message zwei mal?