Hallo zusammen
Ich habe eine kleines Programm geschrieben, dass den Port testen soll, ob dieser connected werden kann.
Auf einem Button habe ich folgenden Code hinterlegt:
Delphi-Quellcode:
procedure Tfrm_POP3SMTPTester.Button1Click(Sender: TObject);
begin
try
IdTCPClient.Host := edt_PortHost.Text;
IdTCPClient.Port := StrToInt(edt_PortNr.Text);
IdTCPClient.ConnectTimeout := 2000;
IdTCPClient.Connect; // (4000);
if IdTCPClient.Connected then
begin
showmessage('Connect hergestellt!');
IdTCPClient.Disconnect;
end;
except
on E: EIdTextInvalidCount do
Writeln(E.Message);
on E: EIdMessageCannotLoad do
Writeln(E.Message);
on E: EIdPOP3Exception do
Writeln(E.Message);
on E: EIdTextInvalidCount do
Writeln(E.Message);
on E: EIdMessageCannotLoad do
Writeln(E.Message);
on E: EIdDoesNotSupportAPOP do
Writeln(E.Message);
on E: EIdUnrecognizedReply do
Writeln(E.Message);
on E: EIdTLSClientException do
Writeln(E.Message);
on E: EIdTLSClientSSLIOHandlerRequred do
Writeln(E.Message);
on E: EIdTLSClientCanNotSetWhileConnected do
Writeln(E.Message);
on E: EIdTLSClientTLSNotAvailable do
Writeln(E.Message);
on E: EIdTLSClientTLSNegCmdFailed do
Writeln(E.Message);
on E: EIdTLSClientTLSHandShakeFailed do
Writeln(E.Message);
on E: EIdTLSServerException do
Writeln(E.Message);
on E: EIdTLSClientCanNotSetWhileActive do
Writeln(E.Message);
end;
if IdTCPClient.Connected then
IdTCPClient.Disconnect;
end;
Es funktioniert einwandfrei, aber beim zweiten Connect also bei zweiten mal drücken auf den Button erschein jedesmal
die Meldung "Already Connected". Was mache ich hier falsch?
Ich gebe ja den Befehl IdTCPClient.Disconnect ab...?
Ebenfalls erschein im Debug-Modus vor der Fehlerausgabe die Meldung:
Im Projekt test.exe ist eine Exeption der Klasse EIdAlreadyConnected mit der Meldung 'Already connected' aufgetreten. (Wie gesagt aber nur ab dem zweiten mal bei Drücken des Buttons)
Vielen Dank für Inputs...
Grüsse Jerry.