Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: blockade durch opendialog

  Alt 28. Apr 2004, 20:15
Moin gwxxl,

ich glaube, ich habe die Ursache für das Problem:

Deine Konstante für die Datendatei enthält nicht den Pfad, sondern nur den Dateinamen.
Dies hat zur Folge, dass bei Zugriffen auf die Datei als Verzeichnis das Arbeitsverzeichnis des Programmes verwendet wird.
Standardmässig ist dies das Programmverzeichnis.
Dadurch, dass Du den OpenDialog verwendest, ändert sich das Arbeitsverzeichnis auf das zuletzt dort ausgewählte, so dass beim nächsten Speichern die Datei in dem Verzeichnis abgelegt wird.

Abhilfe kannst Du auf zwei Wegen schaffen:
  1. In den Optionen des OpenDialog wird ofNoChangeDir auf true gesetzt
  2. Du setzt vor den Dateinamen (die Konstante) noch den Pfad des Programmes (ExtractFilePath(paramstr(0))+datafilename)). Um diese Auswertung nur einmal machen zu müssen speicherst Du den gesamten Pfad in einer Variablen, die Du, z.B. im initialization Abschnitt initialisierst

Ich würde die 2. Methode verwenden, da ich es selber nicht sonderlich schätze, wenn ich mit der Navigation im Dateisystem dauernd von Vorne anfangen muss.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat