AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IdTCPClient Komponente

Ein Thema von Jerry · begonnen am 25. Nov 2011 · letzter Beitrag vom 7. Dez 2011
Antwort Antwort
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#1

IdTCPClient Komponente

  Alt 25. Nov 2011, 10:21
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.
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#2

AW: IdTCPClient Komponente

  Alt 25. Nov 2011, 14:58
nobody out there...?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#3

AW: IdTCPClient Komponente

  Alt 25. Nov 2011, 17:10
Versuch mal:
Delphi-Quellcode:
begin
  try
    IdTCPClient.Disconnect;
    IdTCPClient.Host := edt_PortHost.Text;


Indy, DBX, DataSnap und Co. haben gerne mal Probleme, wenn die Connection (von extern) getrennt wurde, bzw. wenn sie nicht richtig aufgebaut werden konnte.

Connected liefert dann True, obwohl es getrennt ist.
Delphi-Quellcode:
if IdTCPClient.Connected then
  IdTCPClient.Disconnect;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: IdTCPClient Komponente

  Alt 25. Nov 2011, 22:09
leicht OT, aber warum unterscheidest Du die Exceptionfälle wenn alle gleich behandelt werden?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#5

AW: IdTCPClient Komponente

  Alt 27. Nov 2011, 11:57
Hallo Bummi

Danke für Deine Antwort.

Was heisst OT?

Ja ich muss zugeben bei der Exeption bin ich mir nicht sicher ob das korrekt ist so..
Hast du mir hier einen besseren Tipp?

Dankeeee!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: IdTCPClient Komponente

  Alt 27. Nov 2011, 12:35
on E: Exception do würde alle abfackeln, OT heißt Off Topic, meine Antwort hatte mit Deinem Problem nicht wirklich etwas zu tun....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz