Entwickler-Ecke

Internet / Netzwerk - Indy FTP Client hängt sich nach Downloads auf


-->Masterkill<-- - Di 22.08.06 17:44
Titel: Indy FTP Client hängt sich nach Downloads auf
Hi @all ich habe folgendes Problem:

Ich habe mir einen FTP-Client geschrieben, der auch soweit funktioniert.
Doch nachdem ich eine Datei herruntergeladen habe hängt sich mein Programm auf, doch kein
Fehler und auch keine Exception taucht auf.
Ich weiß einfach nicht mehr weiter :nixweiss: und deshalb frag ich euch :zwinker:


Hier der relevante Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button9Click(Sender: TObject);
begin
  IdFTP1.Username := 'sag ich nicht';
  IdFTP1.Password := 'sag ich erst recht nicht';
  IdFTP1.Host := 'den sowieso nicht';
  IdFTP1.Connect;
end;


procedure TForm1.IdFTP1AfterClientLogin(Sender: TObject);
begin
IdFTP1.Get('test.txt''C:\Temp\' + 'test.txt', true); 
end;


//Edit Hab ich meine Frage zu undeutlich gestellt, oder wisst ihr nicht woran es liegen kann?

Danke schonmal im Vorraus
MFG -->masterkill<--


nabbl - Mi 23.08.06 13:36
Titel: Re: Indy FTP Client hängt sich nach Downloads auf
user profile icon-->Masterkill<-- hat folgendes geschrieben:


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.IdFTP1AfterClientLogin(Sender: TObject);
begin
IdFTP1.Get('test.txt''C:\Temp\' + 'test.txt', true); 
end;



Ist das hier Absicht:
'C:\Temp\' + 'test.txt'?

und noch eine Frage:

# Hast du den Binärmodus eingestellt?

Delphi-Quelltext
1:
IdFTP1.TransferType := ftBinary;                    


MfG
Nabbl


-->Masterkill<-- - Mi 23.08.06 13:46

Hat sich geklärt.

Stichwort AntiFreeze

Aber dann hängt er sich auch noch auf das liegt daran, dass ich nicht disconnected hab.
hab ich nun und er hängt sich nicht mehr auf aber dafür kommt eine Exception, dass Keine Verbindung besteht die geschlossen werden kann. Hier mein neur Code:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button9Click(Sender: TObject);
begin
  IdFTP1.Username := '';
  IdFTP1.Password := '';
  IdFTP1.Host := '';
  IdFTP1.Connect;
end;

procedure TForm1.IdFTP1AfterClientLogin(Sender: TObject);
begin
IdFTP1.Get('screen.bmp''C:\Temp\' + 'screen.bmp', true);
IdFTP1.Disconnect;
end;



// EDIT
Aber danke nabbl

Aso ja das ist absicht, weil ich es so übersichtlicher finde ;)


-->Masterkill<-- - Sa 26.08.06 11:08

Also weiß wieder keiner weiter oder habt ihr nicht mitbekommen, dass meine Frage noch nicht beantwortet ist?
MFG Masterkill


-->Masterkill<-- - So 27.08.06 18:39
Titel: *Regt sich langsam auf*
*etwas sauer* Nach 2 Tagen muss ich wohl wieder darauf hinweisen, dass meine Frage noch NICHT beantwortet ist. :cry: :evil:

Ich hoffe dies wurde nun zu Kenntnis genommen :wink:

MFG -->Masterkill<-- :?


Narses - So 27.08.06 22:58

:shock: Du bist gerade dabei, dein Pseudo auf dich anzuwenden... :?


jaenicke - Mo 28.08.06 07:22

user profile icon-->Masterkill<-- hat folgendes geschrieben:
*etwas sauer* Nach 2 Tagen muss ich wohl wieder darauf hinweisen, dass meine Frage noch NICHT beantwortet ist. :cry: :evil:

Ich hoffe dies wurde nun zu Kenntnis genommen :wink:

MFG -->Masterkill<-- :?

Nach diesem Post habe ich keine Lust mehr dazu was zu sagen. Das ist doch hier keine Fragemaschine mit Antwortgarantie!
Und dann in dem Ton? Normalerweise hätte ich zu der Frage gerne was gesagt, aber so nicht!


raziel - Mo 28.08.06 17:39

Was die beiden versuchen dir zu sagen, Masterkill, ist, dass ein etwas netterer Ton als Fragender hier durchaus angebrachter wäre, als so ein fordernder, vorwurfsvoller Tonfall.

Wer nun nicht mehr antworten will - kann ich verstehen, aber bitte nicht mehr hier im Topic kundtun, sondern nur noch Problemspezifisches posten. Danke!

Gruß,
raziel


Martok - Mo 28.08.06 17:44

Naja, ich will mal nicht so sein. Auch wenn ich mich den vorigen Meinungen anschließe. Aber bevor ich Haue vom user profile iconraziel kriege, mein Vorschlag:

Es kann sein, dass im AfterLogin die Verbindung noch nicht steht. Im Gegensatz zu ICS ist Indy übrigens Synchron, d.h. eine Funktion kehrt erst zurück, wenn der zugehörige Request beendet ist. Daher:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button9Click(Sender: TObject);
begin
  IdFTP1.Username := '';
  IdFTP1.Password := '';
  IdFTP1.Host := '';
  IdFTP1.Connect;
  IdFTP1.Get('screen.bmp''C:\Temp\' + 'screen.bmp', true);
  IdFTP1.Disconnect;
end;


HTH, Martok


-->Masterkill<-- - Di 29.08.06 13:35

Hallo wieder @ all,

Tut mir Leid, dass ich so unfreundlich war :oops:

Ich dachte nur weil ich seit 2 Tagen nichts gehört hatte einfach etwas zu schreiben, damit vieleicht doch einer noch was dazu sagt.

Was ich dann aber geschrieben hatte war falsch und sry...

Dein Lösungsvorschlag werde ich sofort ausprobieren und dann sagen, ob es ging

THX -->Masterkill<--


-->Masterkill<-- - Di 29.08.06 17:52

:D :) :wink:

Danke es geht und nochmal sorry an alle weil ich so unfreundlich war :!: :!: :!: :!:

Gruß -->Masterkil<--