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!