AGB  ·  Datenschutz  ·  Impressum  







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

INDY ftp.list problem

Ein Thema von marteng57 · begonnen am 7. Jan 2010 · letzter Beitrag vom 22. Mär 2012
Antwort Antwort
Seite 1 von 3  1 23      
marteng57

Registriert seit: 6. Jun 2009
16 Beiträge
 
RAD-Studio 2009 Pro
 
#1

INDY ftp.list problem

  Alt 7. Jan 2010, 23:56
Hallo,

wollte (in D 2009) mal schnell einen ftp-Zugriff realisieren und stehe auf dem Schlauch

Delphi-Quellcode:
  tOrders := TStringList.Create;
  IdFTP1.Connect;
  if IdFTP1.Connected then
  begin
    IdFTP1.ChangeDir('/IN');
    try
      IdFTP1.List(tOrders);
    except
      // Fehlerbehandlung
    end;
  end;
Tja und tOrders ist immer leer.
Die Analyse sagt dass ich auf Connetion Closed Gracefully stosse, das Verzeichnis enthält aber Dateien und im filezilla geht es ohne Probleme
Wieso geht die Connection flöten oder was sehe ich nicht?

Danke für Eure Hilfe
Martin
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#2

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 09:11
Hallo Martin,

Zitat von marteng57:
Tja und tOrders ist immer leer.
Die Analyse sagt dass ich auf Connetion Closed Gracefully stosse, das Verzeichnis enthält aber Dateien und im filezilla geht es ohne Probleme
Wieso geht die Connection flöten oder was sehe ich nicht?
Hmm, davon höre ich das erste mal. Was für ein Server ist denn die Gegenstelle, irgendwas exotisches? Binde sonst mal bitte IdAllFTPListParsers in die Unit ein. Ich nutze z.B. FTP auch mit D2009 und D2010, .List ging sowohl mit der Release Version als auch der aktuellen SVN Version...

Kannst Du auch mal per Netzwerk Sniffer (SmartSnif, Wireshark o.ä.) gucken, was passiert?

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 09:39
Guten Morgen,

und die Zugangsdaten (Username, Passwort) stimmen?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
GHorn

Registriert seit: 24. Mär 2009
Ort: NRW
124 Beiträge
 
#4

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 09:44
Hi,

wie ich das sehe gibt es von List in IdFTP.PAS zwei überladene Funktionen:

Delphi-Quellcode:
procedure TIdFTP.List;
begin
  List(nil);
end;

procedure TIdFTP.List(const ASpecifier: string; ADetails: Boolean);
begin
  List(nil, ASpecifier, ADetails);
end;


Ich habe das so gemacht um eine Datei einzulesen (D2009):

Delphi-Quellcode:
var
  TFS: TFileStream;
begin
  TFS := TFileStream.Create(cFTPSupplierFile, fmCreate);
  try
    // Verbinden:
    try
      IdFTP1.Connect;
      Application.ProcessMessages;
      IdFTP1.List;
      IdFTP1.Get(cMyFile, TFS, False);
      TFS.Seek(0, soFromBeginning); // an den Anfang setzen
      .....
    except
      Result := False;
    end;
  finally
    ....
  end;
end;

Um ein Verzeichnis einzulesen, schau Dir mal die Property "ListResult" an.

Gruß
Gerald
  Mit Zitat antworten Zitat
marteng57

Registriert seit: 6. Jun 2009
16 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 09:54
Hallo,

vielen Dank für die Hinweise.

@Klaus: Die Zugangsdaten stimmen, der Connect läuft sauber, auch der Wechsel der Verzeichnisse, kann ich auch über retrieveDir oder so anzeigen lassen

@Assertor: die IdAllFTPListParsers habe ich eingebunden, keine Änderung des Verhaltens

@Gerald: auch ListResults liefert keine Ergebnisse

Für mich sieht es so aus, als ob durch die Listanfrage die Connection geschlossen würde, die Art des Servers kenne ich nicht. Es ist der Zugang eines Dienstleisters zur Übertragung von EANCOM Daten und es gibt viele andere User die offensichtlich kein Problem haben.

Gruß
Martin
Martin
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 10:07
Hallo Martin,

bekommst Du die Exception nur zu sehen,
wenn Du Dein Programm in der IDE laufen lässt?
Wie schaut es es aus, wenn Du es ausserhalb der IDE startest.

Hier noch ein Thread mit ähnlichem Thema.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
marteng57

Registriert seit: 6. Jun 2009
16 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 10:37
Klaus, danke für den Hinweis.

Die Sache mit dem Debugger hatte ich schon gesehen, steht ja auch in der Source von Indy gut beschrieben drin.
Dein Verweis auf den anderen Thread entnehme ich, dass es sehr wohl ein Problem der Gegenseite sein könnte.
Meine Erkundungen haben ergeben dass auf der Gegenseite ein Filezilla-Server sitzt, leider ist der dafür Zuständige erkrankt.

Gruß
Martin
Martin
  Mit Zitat antworten Zitat
marteng57

Registriert seit: 6. Jun 2009
16 Beiträge
 
RAD-Studio 2009 Pro
 
#8

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 19:49


Auch ein anderer Server reagiert gleich.

Wer schafft es mit Delphi 2009 ein Verzeichnis eines FTP-Servers auszulesen?

Wäre für jeden Hinweis dankbar.

Gruß
Martin
Martin
  Mit Zitat antworten Zitat
marteng57

Registriert seit: 6. Jun 2009
16 Beiträge
 
RAD-Studio 2009 Pro
 
#9

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 20:42
Hallo,

noch ein Hinweis,

das Abholen einer Datei mittels ftp.Get funktioniert einwandfrei.

Es ist also kein Zugangsthema oder so. Lediglich das Abrufen der überhaupt im Verzeichnis vorhandenen Dateien funktioniert in keinster Weise.
Nutzt das denn niemand? Es scheint mir wirklich ein Problem von Indy zu sein.

Gruß
Martin
Martin
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#10

Re: INDY ftp.list problem

  Alt 8. Jan 2010, 21:55
Also ich kann ohne Probleme mit Delphi 2009 ein List ausführen...
Liegt dein Fehler vielleicht in dem Slash beim Changedir?
IdFTP1.ChangeDir('/IN');

also beim code (einfach so dahin geklatscht, keine Fehlerbehandlung) sieht so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: TStringList;
  i: integer;
begin
  s:=TStringList.Create;
  idftp1.Connect;
  idftp1.ChangeDir('html');
  idftp1.List(s);
  for i := 0 to s.Count - 1 do
  begin
    showmessage(s[i]);
  end;

end;
Edit:
FTP Server: vsFTPd 2.0.7
Zielsystem: Debian

Edit2: ich benutze übrigends die Indy 10.2.5
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 17:17 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