AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit TOpenDialog.InitialDir

Ein Thema von Phillie08 · begonnen am 30. Nov 2013 · letzter Beitrag vom 3. Dez 2013
Antwort Antwort
Phillie08

Registriert seit: 19. Jan 2011
13 Beiträge
 
#1

Problem mit TOpenDialog.InitialDir

  Alt 30. Nov 2013, 14:45
Delphi-Version: XE5
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:
[Pfad]
HTML='P:\Lazarus\Dateinamentest\Dateien'

[Suffix]
Endung='php'
Die Ideee ist nun, die beiden Werte einem OpenDialog zu übergeben, der erste soll den Startpfad (InitialDir) liefern, der zweite die voreingestellte Dateiendung.
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:
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='htmlthen OpenDialog1.FilterIndex:=1
    else if DefEndung='phpthen OpenDialog1.FilterIndex:=2; // funktioniert
Es versteht sich von selbst, dass ich gefühlte 20mal überprüft habe, ob der Pfad aus der Ini-Datei physisch existiert.

In der Hoffnung auf Hilfe,
Andreas
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit TOpenDialog.InitialDir

  Alt 30. Nov 2013, 15:04
Such mal hier im Forum nach Hier im Forum suchenInitialDir.

Der erste gefundene Thread ist dieser hier, im zweiten steht die Lösung.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Problem mit TOpenDialog.InitialDir

  Alt 30. Nov 2013, 16:42
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Phillie08

Registriert seit: 19. Jan 2011
13 Beiträge
 
#4

AW: Problem mit TOpenDialog.InitialDir

  Alt 3. Dez 2013, 12:37
Zunächst mal vielen Dank für die Antworten. Die waren schneller da als ich sie übers Wochenende verarbeiten konnte.
Such mal hier im Forum nach Hier im Forum suchenInitialDir.

Der erste gefundene Thread ist dieser hier, im zweiten steht die Lösung.
Seufz, das hätte ich wohl auch selbst finden können. Aber immerhin hat es geholfen.

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.
Und, Sebastian, ich weiß nicht genau, was dich wahnsinnig machen würde, eventuell die schwachen Realisierungen einiger Programme, die bei jedem Aufruf einer Datei-Auswahl auf der obersten Ebene starten und sich nichts merken. Das allerdings nervt heftig. Ebenso nervt aber auch, dass der Startknoten einfach so der letzte verwendete ist und nicht der, der vom Autor vorgesehen ist (und, nebenbei, rund 2 Mausklicks sparen würde, weil man nicht erst zurück muss.)
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz