![]() |
Zweites Fenster geöffnet bei Programmende speichern
Hallo,
Hab ein kleines Problem: Ich habe eine Checkbox, die, wenn man sie aktiviert ein weiteres Form öffnet, und wenn man sie deaktiviert, das Fenster schließt. Nun soll dieser Zustand beim beenden des Programmes gespeichert werden (über INI-Files). Allerdings wird die Checkbox immer als "Checked := false" gespeichert (bzw. (INI_WERT=0)). Folgenden Code verwende ich:
Delphi-Quellcode:
Kann mir jemand helfen?
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin Ini := TIniFile.Create(form1.programm_pfad+DATEI_KONFIGURATION); ini.writebool('Konfiguration', 'minianzeige', cb_minianzeige.checked); Ini.Free; end; MCXSC |
Re: Zweites Fenster geöffnet bei Programmende speichern
Moin
Der gleiche Code, nur mal so, wie man's machen sollte. Bei dir fehlen die Resourcenschutzblöscke.
Delphi-Quellcode:
Der Code sieht ok aus. Ist das in der Ini sicher mit Wert 0 gespeichert oder kann es sein, dass bein Auslesen etwas schief gegangen ist?
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin Ini := TIniFile.Create(Form1.programm_pfad + DATEI_KONFIGURATION); try Ini.WriteBool('Konfiguration', 'minianzeige', cb_minianzeige.Checked); finally FreeAndNil(Ini); end; end; |
Re: Zweites Fenster geöffnet bei Programmende speichern
Aja.. danke. An dem try...finally-Block lags wohl... Wusste gar nicht dass der so wichtig ist bei INI-Files?
|
Re: Zweites Fenster geöffnet bei Programmende speichern
Zitat:
Der try - finally Block ist dazu da, die erzeugte Ini-Datei freizugeben, auch wenn eine Zugriffsverletzung im try-Abschnitt auftreten sollte. Also generell, wenn du so etwas erstellt, das du mit Free oder FreeAndNil freigeben musst, sollte man das so lösen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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