Hi
bau in die Prozedur die die Msg ausliest mal einen try-except Block:
Delphi-Quellcode:
procedure TClientForm.TimerTimer(Sender: TObject);
var
Msg : String;
begin
if TCPCLient.Connected = True
then begin
try
Msg := TCPClient.ReadLn('', 5);
if (Msg <> '') and (Msg[1] <> '@')
then Messages.Lines.Add(Msg);
except
showmessage ('Fehler beim lesen der Msg' + E);
end;
end;
end;
Den Code hab ich ohne zu testen umgebaut. Kann sein das das E in der Showmessage nicht funktioniert. Wenns nicht geht schmeißt du es einfach raus.
Starte dann die exe unter Windows nicht unter Delphi. Kommt dann die Fehlermeldung, dann ist der Timer nach dem disconnect noch aktiv.
Es ist aber eh sinnvoller den Timer schon im button-Klick auf active= false zu setzen. probiers einfach mal aus.
MfG
Christian