![]() |
Delphi-Version: XE5
Problem mit TOpenDialog.InitialDir
Hallo allerseits,
ich bin dabei, ein Programm von Lazarus nach Delphi zu übernehmen. Die Formulare musste ich nachbauen, kein Problem hier, die Quelltexte wurden zunächst 1:1 übernommen und wo nötig angepasst. Nun mein Problem: Ich verwende eine Ini-Datei mit nur zwei Einträgen, nämlich (zum Testen)
Code:
Die Ideee ist nun, die beiden Werte einem OpenDialog zu übergeben, der erste soll den Startpfad (InitialDir) liefern, der zweite die voreingestellte Dateiendung.
[Pfad]
HTML='P:\Lazarus\Dateinamentest\Dateien' [Suffix] Endung='php' Beide Werte werden korrekt ins Programm eingelesen, wovon ich mich sowohl über den Debugger, als auch über ein Label zur Kontroll-Ausgabe überzeugt habe. Jetzt kommt das merkwürdige: Der Suffix-Parameter wird vom OpenDialog korrekt angenommen. Aber der Pfad-Parameter wird ignoriert, stattdessen wird gnadenlos der letzte verwendete Ordner als Startordner verwendet. Wohlgemerkt: Unter free Pascal hat das sehr wohl wie gewünscht funktioniert. Es folgen Ausschnitte aus dem Code in der Hoffnung, dass irgend jemand etwas sieht, das ich aus Blindheit oder Blödheit (für beides komme ich jederzeit in Frage) eben nicht sehe.
Delphi-Quellcode:
Es versteht sich von selbst, dass ich gefühlte 20mal überprüft habe, ob der Pfad aus der Ini-Datei physisch existiert.
var
Ini: tIniFile; IniDateiName: string; HTMLPfad: string; //Suchpfad für die Quelldateien . . . with Ini do begin HTMLPfad := ReadString ('Pfad', 'HTML', ''); DefEndung := ReadString ('Suffix', 'Endung', ''); ... Label1.Caption := 'Start-Dir: ' + HTMLPfad; // Kontroll-Ausgabe OpenDialog1.InitialDir := HTMLPfad; // funktioniert nicht! if DefEndung='html' then OpenDialog1.FilterIndex:=1 else if DefEndung='php' then OpenDialog1.FilterIndex:=2; // funktioniert In der Hoffnung auf Hilfe, Andreas |
AW: Problem mit TOpenDialog.InitialDir
Such mal hier im Forum nach
![]() Der erste gefundene Thread ist dieser hier, im zweiten steht die Lösung. |
AW: Problem mit TOpenDialog.InitialDir
Der Unterschied ist, dass Lazarus den alten OpenDialog benutzt. Wenn du das in Delphi einstellst, funktioniert es auch.
Mich als Benutzer würde das allerdings wahnsinnig machen. Die aktuelle Lösung von Windows finde ich schon gut gemacht. |
AW: Problem mit TOpenDialog.InitialDir
Zunächst mal vielen Dank für die Antworten. Die waren schneller da als ich sie übers Wochenende verarbeiten konnte.
Zitat:
Zitat:
Aber das übelste ist für mich, dass da eine Eigenschaft im Angebot ist, die einfach ignoriert wird. Und nichts dazu findet sich in der Delphi-Hilfe! Wie auch immer, eure Hinweise machen mir Mut weiter zu machen. Das nächste Problem habe ich schon vor Augen. Gruß, Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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