![]() |
Schreibgeschützte INI Datei in OnClose() Prozedure speichern
Ich steh grade voll auf dem Schlauch, beim beenden meiner Anwendung sollen Fenstergröße sowie Position abgespeichert werden,
in einer INI Datei. Kommt es jedoch vor das das Programm Verzeichnis schreibgeschützt ist meldet das Programm beim Beenden das die Datei nicht gespeichert werden konnte und die OnClose() Prozedur bricht ab und die Anwendung läßt sich nicht mehr beenden, bis man den Schreibschutz aufhebt. Jetzt habe ich mir gedacht ich sicher das mit Try..Finally ab jedoch kommt nach wie vor die Meldung das die Datei nicht gespeichert werden kann, was nun. Ich hab diesen Try Block so verstanden das man die Exception oder was da ausgelöst wird ignorieren kann, was ja sinnvoll wäre oder man ggf. eine eigene Meldung ausgibt "Die Einstellungen konnten nicht gespeichert werden" und anschließend wird die Anwendung doch beendet. Nur so bleibt das Programm offen und läßt sich nicht schließen. Hier eine Beispiel Anwendung mit dem gleichen Problem.
Delphi-Quellcode:
unit uMain;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IniFiles, StdCtrls; type TfrmMain = class(TForm) Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private-Deklarationen } public { Public-Deklarationen } end; var frmMain: TfrmMain; implementation {$R *.dfm} procedure TfrmMain.FormCreate(Sender: TObject); var ini : TIniFile; begin ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'set.ini'); try Edit1.Text := ini.ReadString('Settings', 'Test', ''); finally ini.Free; end; end; procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); var ini : TIniFile; begin ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'set.ini'); try ini.WriteString('Settings', 'Test', Edit1.Text); finally ini.Free; end; end; end. |
Re: Schreibgeschützte INI Datei in OnClose() Prozedure speic
Wenn schon dann try-except.
|
Re: Schreibgeschützte INI Datei in OnClose() Prozedure speic
Zitat:
auch endlich so funktioniert wie ich das möchte. Trotzdem vielen dank Luckie für den Tipp. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 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