AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdFTP, Ordnerstruktur auflisten
Thema durchsuchen
Ansicht
Themen-Optionen

IdFTP, Ordnerstruktur auflisten

Ein Thema von LucasL · begonnen am 20. Dez 2005 · letzter Beitrag vom 21. Dez 2005
 
LucasL

Registriert seit: 20. Dez 2005
19 Beiträge
 
#1

IdFTP, Ordnerstruktur auflisten

  Alt 20. Dez 2005, 19:07
Hallo miteinander,

ich bin einwenig verzweifelt. In der Unit meines Hauptformulars habe ich ein IdFTP-Objekt (Indy 10) und ich möchte damit einen Verzeichnisbaum in einem TTreeView-Objekt in einem anderen Formular erstellen.

Klappt eigentlich(!) auch wunderbar, indem ich aus dem Hauptformular rekursiv das IdFTP-Objekt anzapfe und die Ordner dann in das andere Formular übertrage.

Hier mal die beiden wichtigsten Funktionen dazu:

Code:
function ListDirs(var IdFTP : TIdFTP) : TStringList;
* var
* * StrFTP : TStringList;
* * i : integer;
begin
* StrFTP := TStringList.Create;
* IdFTP.List(StrFTP, '', false);
* for i := (StrFTP.Count - 1) downto 0 do
* * if (StrFTP.Strings[i] = '') or
* * * *(StrFTP.Strings[i] = '.') or
* * * *(StrFTP.Strings[i] = '..') or
* * * *(Pos('.', StrFTP.Strings[i]) <> 0) then
* * * StrFTP.Delete(i);
* ListDirs := StrFTP;
end;

procedure FillTree(parent : TTreenode; var Tree : TTreeView; var IdFTP : TIdFTP);
* var
* * StrFTP : TStringList;
* * Node : TTreeNode;
* * i : integer;
begin
* try
* * StrFTP := ListDirs(IdFTP);
* except
* * exit;
* end;
* for i := 0 to StrFTP.Count - 1 do
* begin
* * Node := Tree.Items.AddChild(parent, StrFTP.Strings[i]);
* * IdFTP.ChangeDir(Node.Text);
* * FillTree(Node, Tree, IdFTP);
* * IdFTP.ChangeDirUp;
* end;
end;
Leider dauert das ganze bei vielen Ordnern verdammt lange! Also hatte ich mir überlegt, ich lade einfach bei Bedarf, also bei jedem "Anklicken eines Knotens" (onChange) in der Treeview, die entsprechenden Unterordner hinzu. Und jetzt tritt das eigentliche Problem auf:

Ich kriege ums Verrecken keinen Zugriff aus dem zweiten Formular auf das IdFTP-Objekt in der Hauptunit, sodass ich darauf Operationen wie ChangeDir anwenden könnte (Kommt immer Zugriffsverletzung, etc.)!

Ich bräuchte also entweder eine Lösung, die das Auflisten der Ordnerstruktur performanter, oder den problemlosen Zugriff auf das IdFTP-Objekt aus anderen Units ermöglicht.

Bin für jeden Lösungsvorschlag dankbar!

Gruß,
Lucas
  Mit Zitat antworten Zitat
 


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 16:44 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