Hallo
DP,
ich programmiere gerade ein kleines Programm, und habe da folgendes Problem:
Ich benutzte eine TreeView um mir einen kleinen Baum von Ordnern und Dateien anzuzeigen.
Das alleine ist nicht das Problem, aber nun will ich Informationen zu den Ordnern/Dateien abspeichern.
Also habe ich mir schnell die Klassen "TDelphiFile" und "TDelphiDirectory" erstellt (zweiteres hat vom ersteren geerbt).
Ich speichere dann in der Eigenschaft "Data" des Nodes den Zeiger auf das jeweilige Objekt.
Außerdem speichere ich in meinen Objekt, zu welchen Node es gehört.
Nun kennt der TreeNode also das jeweilige Objekt, und das Objekt wiederrum den TreeNode.
Theoretisch jedenfalls.
In der Praxis bekomme ich nur schöne AVs.
Wie mache ich das nun:
Man gibt einen Pfad an, und dann kann man die Suche starten.
Ich erstelle darauf ein Node und speichere den Node in eine Variable.
Dann nimmt er sich das Rootobjekt (TDelphiDirectory), und setzt alles neu (Der Node wird gesetzt).
Und dann geht er alle Dateien/Ordner des Rootordners durch und erstellt, wenn er eine Datei/einen Ordner findet, ein neuen Node (und speichert es in der glechen Variable zwischen).
Und damit füge ich dem jeweiligen Root ein TDelphiFile/TDelphiDirectory hinzu, und setzte bei denen die Eigenschaften (unteranderem den Node).
Wenn ich nun damit fertig bin, müsste alles gehen, aber denkste:
Ich bekomme eine schicke
AV!
Außer bei dem Objekt was ich Zuletzt erstellt habe.
Ich habe mal den Code angehangen.
Er ist noch nicht fertig, und es wird auch nicht weiterkommen, solange ich dieses Problem nicht hinkriege.
MfG
xZise