Einzelnen Beitrag anzeigen

WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#5

AW: Indy TCPclient Disconnect Problem

  Alt 7. Mär 2017, 22:31
Hallo zusammen,

ich muss den doch schon relativ alten Beitrag noch einmal aufgreifen.

Ich versuche mich wechselnd auf mehrere Arduinos connecten. Daher ist es wichtig, dass die Verbinung jedesmal gesichert getrennt wird. Folgender Test:

Delphi-Quellcode:
try
    Mainform.TCPClient1.host:='192.168.1.177';
    Mainform.TCPClient1.Port:=23;
    Mainform.TCPClient1.Connect;
    Mainform.TCPClient1.IOHandler.WriteLn(#13);
    sleep(100);
    for i:=1 to 5 do Begin
      x:= IntTostr(i mod 2);
      Mainform.TCPClient1.IOHandler.WriteLn('setport #'+ (edit1.text)+','+x );
      sleep(100);
    end;
    showmessage('Fertig');
finally
    Mainform.TCPClient1.Disconnect;
end;

Parallel dazu habe ich mal die beiden Events OnConnected und OnDisconnected belegt, welche auch beide aufgerufen werden:

Delphi-Quellcode:
procedure TMainform.TCPClient1Connected(Sender: TObject);
begin
Showmessage('Connected');
end;

procedure TMainform.TCPClient1Disconnected(Sender: TObject);
begin
showmessage('Disconnected');
end;
Trotzdem, wird beim 2 Aufruf von Mainform.TCPClient1.Connect eine Exception geworfen, die sagt, dass die Verbindung bereits bestehen würde (EIdAlreadyConnected - Verbindung besteht bereits).

Ist diese Version ungeschickt, oder das Ergebnis ein Bug?

Ich verwende Delphi 10.1 Berlin Starter in der Standard-Installation (Indy 10.1.5 ?).

Vielen dank für jede Hilfe!
MFG
Steffen
  Mit Zitat antworten Zitat