Autor Beitrag
DBZfan
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 01.11.02 15:01 
Ich habe jetzt von Indy 8 auf Indy 9 umgestellt und musste feststellen das sich viel geändert hat (auf jeden Fall bei dem FTP Client), also hab ich mich ans umschreiben gesetzt. Jetzt habe ich leider ein Problem das nicht weg geht:
Ich starte das Programm mit F9. Nun hab ich einen Button der die Verbindung herstellt zum Server. Wenn ich darauf klicke wird dieser Code ausgeführt (die Verbindung wird hergestellt):

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
IdFTP1.Username := '*******';
IdFTP1.Password := '********';
IdFTP1.Host := 'ftp1.kontent.de';
IdFTP1.Port := 21;
IdFTP1.Connect(true,2000);
IdFTP1.ChangeDir('www/); 
IdFTP1.List(DirectoryListBox.Items,'',false);


In Indy 8 hat das auch super funktioniert, aber in Indy 9 taucht dieser Fehler auf:

Zitat:

Im Projekt1.exe ist eine Exception der Klasse EIdConnClosedGracefully aufgetreten. Meldung: 'Connection Closed Gracefully.'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.


Nun habe ich versuche diesen Fehler zurückzuverfolgen und habe festgestellt das diese Zeile an der Mehrler Schuld ist:

ausblenden Quelltext
1:
IdFTP1.List(DirectoryListBox.Items,'',false);					


Wenn ich diese Zeile wegnehme kommt der Fehler nicht. Es ist allerdings sehr wichtig das die Dateien ausgegeben werden! Das funktioniert auch, nur das halt dieser Fehler (weiter oben) kommt.

Was habe ich nun falschgemacht?
Gibt es eventuell noch eine andere Prozedur oder Funktion die (in etwa) die Gleichen Eigenschaften ausweist und keinen Fehler verursacht?[/quote]
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 01.11.02 17:15 
Dabei handelt es sich nicht um eine Fehlermeldung, sondern um eine als Sprungbefehl misbrauchte Exception. Die Indy-Komponenten lösen EIdConnClosedGracefully aus, um aus einer stark verschachtelten Funktionsstruktur zum Ausgangspunkt zurückzukehren. Dabei wird diese Exception von den Indy-Komponenten intern schon abgefangen. Delphi hingegen meldet jede Exception dem Entwickler noch zusätzlich. Der Endbenutzer bekommt davon nichts mit. Da es aber ziemlich nervtötend ist bei jedem Befehl eine Exceptionmeldung zu bekommen, kann man bei Delphi unter dem Menüpunkt Tools/Debugger Optionen im Register Sprach-Exceptions die Exception EIdConnClosedGracefully hinzufügen. Danach kommt diese Meldung nicht mehr.

_________________
Ist Zeit wirklich Geld?