Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#4

AW: TSaveDialog verursacht Sperrung von Windows-Ordnern

  Alt 21. Okt 2010, 10:10
Das ist in Problem in Windows.

Erstmal läßt dieses bei Verwendung dieses Dialogs leider manchmal einige Dateihandle (für Ordnerzugriffe) geöffnet und dann ändert dieser Dialog das aktuelle Verzeichnis (MSDN-Library durchsuchenGetCurrentDir) und läßt dieses nach Schließen des Dialogs auch dort.

Fazit: Es wird wirklich noch auf dieses Verzeichnis zugegriffen und demnach kann man dann da auch nix ändern.

Lösungen:

- Das aktuelles Verzeichnis via MSDN-Library durchsuchenSetCurrentDir z.B. auf ParamStr(0) oder Application.ExeName setzen.

- Für die vergessenen Dateihandle gibt's keine wirkliche Lösung.
In einem Projekt hatte ich mal vor Aufruf alle Dateihandle des Programms aufgelistet, nach dem Aufruf nochmal und dann alle neuen Handles manuell geschlossen.
> Leider war das Auslesen zu "aufwändig" und das Schließen brachte manchmal Nebenwirkungen, so daß ich dieses nicht mehr mache.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat