OpenDialog Initial Directory Problem
-
Hallo
Genau das macht doch InitialDir. Du must eben nach jedem Execute wie schon gezeigt den letzten Pfad auslesen und beim nächsten Open wieder InitialDir zuweisen. Wenn du dann zwei verschiedene methodenübergreifende Zwischenspeicher für je einen logischen OpenDialog nimmst, kannst du jeden logischen OpenDialog auch immer ein eigenes InitialDir zuweisen.
bis bald
akari
-
Ich weiß jetzt zwar nicht, ob wir aneinander vorbei reden, aber deshalb frage ich ja, da ich auch dachte InitialDir macht das. Es macht es aber nicht, auch nicht wenn ich vornweg mit SetCurrentDir(xxx) und InitialDir das Verzeichnis setze.
-
akari schrieb:
Du must eben nach jedem Execute wie schon gezeigt den letzten Pfad auslesen und beim nächsten Open wieder InitialDir zuweisen.
Wie schon gesagt, meinen Tests zufolge wird InitialDir im Programmverlauf nur ein einziges Mal ausgewertet, eben beim ersten Aufruf des Dialogs. Anschliessend kommt nur noch das CurrentDir zum Zug.
Ich habe gerade noch mit TOpenDialog::Options::ofNoChange herumprobiert, aber das scheint keine Wirkung zu haben.
Edit:
Hmmm, SetCurrentDir wird tatsächlich auch ignoriert. Und der zuletzt gewählte Pfad bleibt auch über einen Neustart des Programmes erhalten, also wird der wohl automatisch irgendwo in der Registry abgelegt werden.
-
Lösung: die FileName-Property zurücksetzen, dann wird auch das neue gesetzte InitialDir ausgewertet.
-
Jansen schrieb:
Lösung: die FileName-Property zurücksetzen, dann wird auch das neue gesetzte InitialDir ausgewertet.
ok danke, hab es jetzt zwar noch nicht probiert, aber ich gehe davon aus, daß es funktionier.
-
funktioniert!!
wieder etwas gelernt 
danke nochmals
-
OldMan00 schrieb:
wieder etwas gelernt

Ich auch.

-
Hallo,
Man muß doch nur InitialDir vor Execute setzen (und das jedesmal, wenn sich das Verzeichnis ändern soll) und dann geht's :
OpenDialog1->InitialDir = "C:\\"; if (OpenDialog1->Execute()) { }Nash
-
Nash schrieb:
[...] dann geht's
Eben nicht. Wenn FileName einen Wert enthält, dann wird InitialDir ignoriert.
-
Hallo,
Oops... Tatsache...
Das kommt davon, wenn man mal so nebenbei antwortet.
Da ich FileName meistens gesetzt hatte (auf die gewünschte Datei), ist mir das nicht aufgefallen.Nash