Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.492 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: "Dieser PC" als InitialDir für OpenDialog

  Alt 18. Aug 2020, 19:18
Man kann beim OpenDialog das InitialDir mitgeben.

Allerdings ist in neueren Windowsen (seit mindestens Win7) eine Optimierung drin. *1
Windows merkt sich die letzte Auswahl und stellt sie beim nächsten Öffnen wieder her, wobei die Übergabe des InitialVerzeichnisses ignoriert wird.
(hätte Microsoft es richtig gemacht, dann hätten sie dafür eine Option zum Abschaltein eingebaut, oder es zumindestens nur dann gemacht, wenn man kein InitialDir angibt)
-> siehe Stevie/jfheins ... die haben den Link/Begriff schon gefunden

Das BasisVerzeichnis kann man auch definieren, also das Grundverzeichnis innerhalb dessen man navigieren kann.

Man kann sich in den DialogHook hängen und dort "nach" dem Laden das "Initial"-Verzeichnis nochmal wechseln.



*1) Das wird je Programm gepeichert.
Deswegen würde ich auch empfehlen den TFileOpenDialog (Vista-Gruppe) empfehlen.
In aktuellen Delphi nutzt aber TOpenDialog intern den TFileOpenDialog, wenn das Programm in einem passenden Windows läuft, ab Vista und davor die alte API.
Den Support für Vor-Vista/7 hab ich persönlich eingestellt, also spricht nichts gegen neuere APIs.

Und beim TFileOpenDialog kann man auch eine "ID" mitgeben. (beim TOpenDialog wird das leider nicht durchgereicht)
So hat man im Programm mehrere unterschiedliche Open-Dialoge zu unterschiedlichen Verzeichnissen zur Verfügung, bzw, kann mit der selben ID n unterschiedlichen Stellen die selbe "Optimierung" vom Windows benutzen.


Im Explorer kann man in den Einstellungen angeben welches InitialDir beim Starten benutzt werden soll.
Ansicht > Optionen > Schnellzugriff oder Dieser PC (leider nur diese Beiden als Auswahl)
Ich vermute/hofffe dass der Dialog die selbe Einstellung benutzt, wenn das Programm kein InitialDir vorgibt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (18. Aug 2020 um 19:48 Uhr)
  Mit Zitat antworten Zitat