Seite 1 von 1

FileRequester BUG?

Verfasst: 24.01.2018 10:40
von Pelagio
Hallo PB'ler

mir ist gerade etwas aufgefallen ich habe direkt in PB folgenden Code

Code: Alles auswählen

pValue = OpenFileRequester("Bitte Datei zum Laden auswählen", "D:\Source\PUBA\PB_RZK-Haertewerte\Vorgaben\*.xlsx", "Excel (*.xlsx)|*.xlsx", #Null)
Der funktioniert auch hervorragend, wenn ich den Requester öffne lande ich auf dem angegebenen Verzeichnis. Wenn ich allerdings jetzt eine EXE erstelle lande ich auf das von Windows letzte Verzeichnis, in diesem Falle wäre es "U:\Test". Die Angabe der xlsx Datei ist allerdings eingestellt. Dies ist nicht nur bei OpenFileRequester sondern auch bei SaveFileRequester. Ich arbeite auf Win 10 mit PB5.61/ :bluescreen: 64Bit.

Re: FileRequester BUG?

Verfasst: 24.01.2018 13:12
von Andesdaf
kann ich bestätigen, gleiches System, und auch ohne vorgegebene Erweiterung im Initialpfad.

Re: FileRequester BUG?

Verfasst: 24.01.2018 18:04
von CodeBurg
Pelagio hat geschrieben:Wenn ich allerdings jetzt eine EXE erstelle lande ich auf das von Windows letzte Verzeichnis, in diesem Falle wäre es "U:\Test".
Kann ich so nicht bestätigen. Wenn ich ne EXE erstelle, lande ich beim ersten Start in dem im Code angegeben Verzeichnis. Wechsele ich das Verzeichnis, wähle eine Datei aus und klicke auf Öffnen, dann wird beim nächsten Start das Verzeichnis angezeigt, in dem ich zuvor die Datei ausgwählt hatte. Welches Verzeichnis ich in Windows oder irgend einem anderen Programm beackert habe, ist vollkommen egal und wird im OpenFileRequester der EXE auch nicht angezeigt. Immer nur das Verzeichnis von der vorherigen Dateiauswahl in genau diesem Programm.

Ist für mich also eher wieder eine "Glaubensfrage", ob man das nun als Bug oder als Feature betrachtet.

Re: FileRequester BUG?

Verfasst: 24.01.2018 18:59
von _JON_
Ich würde auch sagen, dass es in das Thema Bug or Feature fällt.

Komisch ist nur, dass mir dieses Verhalten erst seit Windows 10 aufgefallen ist.
MSDN spricht allerdings nur von einem Unterschied zwischen Windows 7 und XP.

Naja, notfalls eben selber die API GetOpenFileName/GetSaveFileName nutzen.

Re: FileRequester BUG?

Verfasst: 24.01.2018 19:02
von Sicro
Pelagio hat geschrieben:

Code: Alles auswählen

OpenFileRequester(... Vorgaben\*.xlsx", "Excel (*.xlsx)|*.xlsx", #Null)
wozu muss das "*.xlsx" nochmal im Pfad stehen? Der nächste Parameter der Funktion mit dem Inhalt "Excel (*.xlsx)|*.xlsx" sorgt doch schon dafür, dass nur xlsx-Dateien angezeigt werden.
Ich vermute die unnötige Erweiterungsangabe im Pfad bringt den OpenFileRequester durcheinander.

Re: FileRequester BUG?

Verfasst: 24.01.2018 23:04
von RSBasic
_JON_ hat geschrieben:Komisch ist nur, dass mir dieses Verhalten erst seit Windows 10 aufgefallen ist.
Mir ist es vor einiger Zeit auch aufgefallen.
Sicro hat geschrieben:Ich vermute die unnötige Erweiterungsangabe im Pfad bringt den OpenFileRequester durcheinander.
Damit hat es nichts zu tun. Ich habs mit und ohne getestet. Das Ergebnis ist gleich.
_JON_ hat geschrieben:Ich würde auch sagen, dass es in das Thema Bug or Feature fällt.
Auf jeden Fall ein Feature. Windows speichert den zuletzt geöffneten Pfad in die Registry: Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\
Da wird je Dateityp einen separaten Pfad abgespeichert und falls in diesem Registry-Schlüssel kein Pfad abgespeichert wurde, dann nimmt er den vorgegebenen Standard-Pfad des Programms.

Re: FileRequester BUG?

Verfasst: 29.01.2018 17:28
von CodeBurg
RSBasic hat geschrieben:
_JON_ hat geschrieben:Ich würde auch sagen, dass es in das Thema Bug or Feature fällt.
Auf jeden Fall ein Feature.
Ich würde dieses Verhalten zwar auch eher als Feature sehen, aber ich kann mir durchaus Szenarien vorstellen, in den es sinnvoll sein könnte, das Programm immer im gleichen Ordner starten zu lassen. Ein Flag mit dem man das Steueren könnte, wäre daher uU. wünschenswert.

Re: FileRequester BUG?

Verfasst: 30.01.2018 02:45
von udg
bei mir in Windows 7 x64 funktioniert es einwandfrei. Heraus aus PB 5.61 und auch als Exe

kein merkwürdiges Verhalten