Moin KochFolie,
erst einmal herzlich Willkommen hier in der Delphi-PRAXiS.
Zitat von
KochFolie:
nur wenn man im OD auf abbrechen klickt, speichert der in der zuletzt gespeicherten datei anstelle vom alten dateinamen gar nichts ab...
Da hast Du sogar Glück gehabt.
Dateiname ist eine lokale Variable, deren Wert zu Beginn der Prozedur unbestimmt ist, und nur gesetzt wird, wenn Du beim OpenDialog nicht auf Abbrechen klickst.
Ich sehe da zwei Möglichkeiten:
- Soll die Prozedur auch ausgeführt werden, wenn auf "Abbrechen" geklickt wird, muss Dateiname als globale Variable, oder als Feld von TForm1 (oder einem anderen Objekt) deklariert werden. Vielleicht noch besser wäre es
- bei Abbruch die Prozedure gar nicht erst auszuführen. Die Execute Methode prüfst Du ja sowieso auf Abbruch oder nicht ab. Ansonsten müsste sichergestellt werden, dass beim ersten Aufruf der Prozedur nicht abgebrochen werden kann, oder dass Dateiname initialisiert ist.