FileRequester BUG?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem
Wohnort: Bremen

FileRequester BUG?

Beitrag 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.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS]. :allright:
Andesdaf
Moderator
Beiträge: 2660
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: FileRequester BUG?

Beitrag von Andesdaf »

kann ich bestätigen, gleiches System, und auch ohne vorgegebene Erweiterung im Initialpfad.
Win11 x64 | PB 6.00 (x64)
CodeBurg
Beiträge: 101
Registriert: 06.06.2011 22:53

Re: FileRequester BUG?

Beitrag 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.
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: FileRequester BUG?

Beitrag 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.
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: FileRequester BUG?

Beitrag 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.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: FileRequester BUG?

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
CodeBurg
Beiträge: 101
Registriert: 06.06.2011 22:53

Re: FileRequester BUG?

Beitrag 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.
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: FileRequester BUG?

Beitrag von udg »

bei mir in Windows 7 x64 funktioniert es einwandfrei. Heraus aus PB 5.61 und auch als Exe

kein merkwürdiges Verhalten
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Antworten