Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Initial Dir bei mehreren Dialogen

  Alt 9. Feb 2008, 17:47
Das ist ein normales Verhalten von Windows:

siehe lpstrInitialDir
http://msdn2.microsoft.com/en-us/library/ms646839(VS.85).aspx

Wenn nichts angegeben ist, dann wird das aktuelle Verzeichis verwendet.

jetzt das Problem/die Ursache:
allerdings hat Windows da ein globales aktuelles Verzeichnis, welches für alle Programme gilt.
tja und nun nimmt der Dialog nicht zuerst das aktuelle verzeichnis des Programmes, sondern das globale.

und hier noch ein Problem:
gesetzt wird allerdings auch das lokale aktuelle Verzeichnis:
Delphi-Quellcode:
Memo1.Lines.Add(GetCurrentDir);
OpenDialog1.Execute;
Memo1.Lines.Add(GetCurrentDir);
also für alle die gern mit relativen Pfaden (relativ zum aktuellem Verzeichnis) arbeiten ... hier gibt's nette Nebenwirkungen


Lösung(en):
- .InitialDir setzen
- und/oder ein Verzeichnis per .FileName mitgeben

- und beim verwenden von relativen Pfaden aufpassen


@DaddyH:
Delphi-Referenz durchsuchenExtractFilePath enthält immer den Backslash (wenn mindestens einer im String ist ... ansonsten ist der ResultString eh leer)
Delphi-Referenz durchsuchenExtractFileDir enthält keinen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat