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 (
GetCurrentDir) 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
SetCurrentDir 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.