Thema: Delphi FTP.List fehler

Einzelnen Beitrag anzeigen

dioony

Registriert seit: 18. Apr 2005
Ort: Oldenburg
18 Beiträge
 
Delphi 6 Enterprise
 
#1

FTP.List fehler

  Alt 18. Apr 2005, 18:11
Mittag!

Ich bin schon seit 4 tagen dabei einen fehler zu finden, aber irgendwie komm ich da nicht weiter... hab schon alles mögliche ausprobiert und schon jedes forum durchforstet...

Hab folgendes prob:

Wenn ich mir den inhalt eines verzeichnisses mit
IdFTP1.List(ListBox2.Items,'*',FALSE);
ausgeben lasse, dann sollte nach der Referenz mir ja nur die Ordnernamen (durch das * als zweiten Parameter ) und ohne weitere details (durch das FALSE als dritten Parameter) ausgeben.
Das sieht dann so aus:

Ordner1
Ordner2
Ordner3
...

Dies macht er auch bei einem FTP Server aber bei einem anderem FTP Server gibt er
mir total was anderes wieder:

.
..
Ordner1\SubOrdner1
Ordner1\Datei1.txt
Ordner1\Datei2.txt
Ordner2\SubOrdner1
Ordner2\Datei1.txt
Ordner3\SubOrdner1
Ordner3\SubOrdner2
Ordner3\Datei1.txt
Ordner3\Datei2.txt

nun brauch ich aber nur die ordner namen...

Ist das ne einstellungssache am FTP? habe auch schon versucht das ganze manuell zu lösen aber da gibts dann auch nur probleme.... habe da mehrere wege versucht
z.b. so

Delphi-Quellcode:

IdFTP1.List(Form5.ListBox1.Items,'*',FALSE);
      Name:='';
      dummy:='';
      for g:=0 to Form5.ListBox1.Items.Count-1 do
      begin
          Name:=Copy(Form5.ListBox1.Items[g],1,Pos('\SubOrdner1',Form5.ListBox1.Items[g])-1);
          if Name <> dummy then
          begin
            dummy:=Name;
            Form5.ListBox2.Items.Add(Name);
          end;
      end;
ausgeführt wird dieser teil in Form1...
Fehlermeldung hierbei: EAccessViolation Zugriffsverletzung bei Adresse 004B8494 in Modul Project1...




Ich benutze delphi 6 enterprise und Indy 8.0.25

Laut referenz sollte das ja mit TIdFTP.list so gehen wie ich es oben mache:


procedure List(ADest: TStrings; const ASpecifier: string; const ADetails: boolean);

ASpecifier is a String that contains a mask indicating the files and/or directories to be included in the listing. ASpecifier can contain common wildcard characters like '*' and '?'. Some useful masks include:

*.* - All files in the current directory.
* - All directory entries in the current directory.
*. - All files regardless of extension in the current directory.
A??.txt - All text files that have a 3-character name starting with 'A'.


Hab schon überlegt indy zuupdaten, da ich bei meiner fehlersuche auf TIdFTP.directorylisting gestoßen bin. das gibts wohl aber noch nicht in Indy 8.0.25, denn in der referenz steht nichts und wenn ich die methode benutzen will ist sie unbekannt. also kann ich nur noch updaten, aber ich bin mir da nicht ganz sicher, ob dann noch die ganzen anderen sachen funktionieren, da sie ja auf indy 8.0.25 geschrieben wurden! Hat da jemand ahnung?

Hoffe jemand hat da mal ne idee und danke im voraus!

Dioony
  Mit Zitat antworten Zitat