Moin zusammen,
vielen Dank für die Antworten.
Ich habe es in dieser Form versucht. Das Problem klärt sich dadurch aber noch nicht:
Delphi-Quellcode:
procedure TForm_WLNConnectionNMEA.IdTCPClient1Connected(Sender: TObject);
begin
a:=true;
PackageProcess.clear(Memo);
Memo.Lines.Add('connected');
Button_Disconnect.Enabled := true;
while a=true do
begin
Application.ProcessMessages;
PackageProcess.ReceiveString(IdTCPClient1);
PackageProcess.selectNMEA ();
PackageProcess.showmessage(Memo);
a:=PackageProcess.GetConnectState;
end
end;
procedure TForm_WLNConnectionNMEA.Button_DisconnectClick(Sender: TObject);
begin
PackageProcess.SetConnectStateFalse;
PackageProcess.DisconnectFromHost(Memo,IdTCPClient1);
end;
Ich kann allerdings auch weiterhin den Disconnectknopf nur dann mit Reaktion drücken wenn die Schleife nicht läuft. Unter untenstehendem Link ist einmal das gezipte Projekt. Entscheidender Part ist CForm_WLNNMEA.
https://www.dropbox.com/s/b09b0wvn82...EA1.3.zip?dl=0
Vielleicht sieht ja jemand meinen Fehler. Als nächstes test ich sonst den OnIdle Vorschlag.