AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi "Dieser PC" als InitialDir für OpenDialog
Thema durchsuchen
Ansicht
Themen-Optionen

"Dieser PC" als InitialDir für OpenDialog

Ein Thema von Gelmo · begonnen am 18. Aug 2020 · letzter Beitrag vom 18. Aug 2020
 
Benutzerbild von himitsu
himitsu

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

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

  Alt 18. Aug 2020, 18: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.
Ein Therapeut entspricht 1024 Gigapeut.

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


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz