Wenn man diese Dialog-
WinAPI mit ungültigen Daten füttert, dann geht der Dialog einfach nicht auf.
* nichtvorhandene Pfade
* ungültige Pfade
* und Dergleichen
Hier ist auch bissl blöd, da jemand hier nicht die Rückgabewerte prüft,
aber egal, da Windows nicht immer einen Fehler meldet, sondern auch gern einfach sagt, dass angeblich auf Abbruch "Cancel" gedrückt wurde.
Versuch mal
ExtractFileDir
PS: Seit Vista ignoriert Windows auch gerne den InitialDir, sobald der Dialog einmal angezeigt wurde.
Hier kann man aber etwas gegensteuern, indem man dem/den Dialog(en) je Vorgabepfad eine eigene
GUID verpasst.
Das geht aber nur bei den "Vista"-Dialogen, also z.B. TFileOpenDialog statt TFileDialog.
(die Text- und PictureDialoge sind hoffentlich auch "neue" Dialoge, sonst hat man Pech)
PPS: Wer im Windows die neue
API deaktiviert, weil er den alten Windows 2000-Stil zu geil findet, ist eh angearscht, da die alte
API viele Dialoge noch nicht kennt.
(z.B. die "neuen" FileDialoge oder auch der TaskDialog)
Und um Delphi-Code bitte ein [DELPHI]...[/DELPHI] drumrum.