ohne das ich de Delphi Teil genauer ansehe, mischst du Threads und
VCL-
GUI und Application.ProcessMessages hat in einem Thread nix zu suchen.
Bereinige das erstmal und trenne es sauber!
Alles auf dem Mainform ist doof, Nimm wenigstens ein Datenmodul und packe da alles was
TCP und Tread ist drauf. Musst dir eh was einfallen lassen wie du dein Hauptform
VCL-ThreadSafe bebachrichtigst und von dort Daten/Aktionen entgegen nimmst.
Mit etwas Glück hast du dann auch dein Problem das es nach einiger Zeit komisch geht gelöst, aber mit dem strukturellem Fehler lohnt es garnicht die exakte Ursache deines geschilderten Effektes zu analysieren
Nichts ist im MainForm außer
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
...
Thread_Timer := TTCPConnection.Create;
end;
Im werde am Ende auf alle Fälle versuchen, den Delphi Code besser threadsicher zu machen aber mein großes Problem ist eher im C Code.
*edit*
Oh jetzt habe ich verstanden was du meinst. Mein SocketClient auskoppeln vom MainForm. Das kann ich machen.