TOpenDialog nimmt InitialDir nicht an



  • Wenn ich das erste mal nach Programmstart den Wert InitialDir (Startverzeichnis) einer OpenDialog-Komponente ändere, so wird dieses Verzeichnis korrekt übernommen. Öffne ich dann eine Datei über den Dialog (= ich breche den Öffnen-Vorgang nicht ab, sondern wähle tatsächlich eine Datei aus), übernimmt InitialDir keinen Wert mehr für alle zukünftigen Zugriffe.

    Quelltext:

    void __fastcall TForm1::ScanFileClick(TObject *Sender)
    {
        ScanFileDialog->InitialDir = MyDir;
    
        if (ScanFileDialog->Execute()) {
        [...]
        }
    }
    

    Sobald sich MyDir ändert und ich vorher schon eine Datei über die ScanFileDialog-Komponente geöffnet habe, übernimmt die Komponente das neue Verzeichnis nicht (bleibt beim ursprünglich gesetzten Verzeichnis). Die Verzeichnisse sind vorhanden, daran liegt es nicht.

    Weiß einer Rat?



  • Vermutlich liegt es daran, dass im FileName, respetive in Files bereits Dateinamen stehen. Lösch die einfach mal raus, bevor Du den Dialog erneut öffnest.



  • Ah wunderbar, funktioniert.

    Danke Dir zum zwoten Mal heut!


Anmelden zum Antworten