Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schleifen Abbruch verhindern (https://www.delphipraxis.net/59780-schleifen-abbruch-verhindern.html)

Aljoscha 28. Dez 2005 14:59


Schleifen Abbruch verhindern
 
Hi :)
Ich habe ein kleines proble, und zwar habe ich eine For-Schleife in der Versucht wird auf einen FTP-Server mithilfe der Indy Komponente zu verbinden.
Nun ist das Problem, dass jedes mal wenn der Verbindungsversuch fehlgeschlagen hat aus der Schleife gesprungen wird.
Das möchte ich gerne verhindern, so wie die Fehlermeldung, allerdings hat die IdFTP Komponente kein onError Event...
Ich hoffe ich stelle die Frage im richtigen Unterforum...
Thx 4 help

fkerber 28. Dez 2005 15:00

Re: Schleifen Abbruch verhindern
 
Hi!

Ich verstehe dein Problem nicht so ganz, aber vielleicht hilft ein Try-Block?


Ciao Frederic

Aljoscha 28. Dez 2005 15:12

Re: Schleifen Abbruch verhindern
 
Also entweder habe ich etwas falsch gemacht, oder ich kann den Fehler mit try nicht abfangen :(

Delphi-Quellcode:
for i:=0 to Threat1.Count do
with IdFTP1 do try
ShowMessage(inttostr(i));
  User := 'Anonymous';
  Password := 'Anonymous@anon.com';
  Host := Threat1[i];
  Connect;
finally end;
Wenn jetzt keine Anonyme anmeldung möglich ist kommt eine Fehlermeldung:
530 Login incorrect
Diese würde ich gerne verhindern, bei Sockets habe ich solche Fehler mit dem OnError Ereignis abgefangen:
Delphi-Quellcode:
procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
 if ErrorEvent=eeConnect then begin
    ErrorCode:=0;
  end;
end;
Gibt es so etwas nicht für IdFTP? :(
Außerdem habe ich das Problem das er eben aus der Schleife springt, also nur einmal versuht zu connecten, nicht wie in der Schleife vorgesehen mehrere male...

Matze 28. Dez 2005 15:14

Re: Schleifen Abbruch verhindern
 
Wenn du den Fehler abfangen möchtest, muss du try - except nutzen.
Ich weiß nicht, ob es daran liegt, aber zum Abfangen ist try - finally nicht geeignet, da der Finally-Abschnitt generell ausgeführt wird, ob nun etwas schiefgeht oder nicht.

Aljoscha 28. Dez 2005 15:18

Re: Schleifen Abbruch verhindern
 
Stimmt!
Das war das Problem, ich dachte es wäre egal was ich nehme, da ich ja nichts sonst ausfüre.
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz