Einzelnen Beitrag anzeigen

Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#13

Re: Dateien, Unterverzeichnisse zählen?

  Alt 13. Nov 2008, 10:15
Hallo,

da habe ich ja was angestellt...
Ich hätte nicht gedacht, dass das doch ein ziemliches Problem zu sein scheint!

Ich habe aus der Function nichts rausgekürzt. Die ist schon sehr alt und es kam mir von vornherein darauf an, dass die möglichst "universell" einsetzbar ist, also möglichst in sich abgeschlossen mit genau definierten Schnittstellen von und nach draußen.

In der Delphi-Umgebung kommt weiterhin der Fehler. ("In der Klasse TVirtualExplorerEasyListview ist folgender Fehler aufgetreten: Zugriffsschutzverletzung bei Adresse... Lesen von Adresse 00000004.")
(Ich habe mir zur Vereinfachung eine globale Fehlerbehandlung gebastelt, deshalb der Klassenname.)

Ich habe jetzt FGAbbruch zum Abbruch der Rekursion gesetzt. In der Delphi-Umgebung kommt der Fehler immer noch, starte ich es standalone, kommt der Fehler nicht mehr. Muss ich aber noch eine Weile probieren. Allerdings ist das natürlich auch keine Lösung!

Wann der Fehler auftritt:
Ich habe links eine Liste von Verzeichnissen. Rechts eine Art Betrachterfenster.
Wenn ich nun auf ein Verzeichnis clicke, wird rechts im Betrachter eine neue Form erzeugt. (Oder, wenn vorhanden, deren Inhalt geändert.) In dieser Form wird nur ein Listview erzeugt und darin ein paar Informationen zum Verzeichnis angezeigt. Dafür wird eben "Foldersize" auch berechnet.
Mache ich aber einen Doppelclick, gibt es den Fehler(, aber nicht immer).

Mal sehen, ob ich das im OnClick machen kann, wo ich auf dann den Doppelclick warte. (Bisher OnItemSelectedChanged - wer's kennt. Evtl. geht es nicht anders, weil sonst die Tastatursteuerung nicht funktioniert - also Taste hoch oder so. OnKeyUp oder OnKeyDown gibt es leider nicht.)

So, fehlt noch was?

Gruß
Mattze

PS: Der Stack müsste eigentlich ausreichen. Soooo tief ist das nicht. Vielleicht 3 höchstens 4 Stufen.
Das "Lesen von Adresse 00000004" deutet eher darauf hin, dass ein Pointer nicht richtig zugewiesen wurde. Da der Fehler nur unter Delphi, aber nicht standalone auftritt, könnte das ein Zeitproblem sein!? Aber, was tun?
  Mit Zitat antworten Zitat