Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zweites Fenster geöffnet bei Programmende speichern (https://www.delphipraxis.net/59406-zweites-fenster-geoeffnet-bei-programmende-speichern.html)

MCXSC 21. Dez 2005 22:19


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:
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;
Kann mir jemand helfen?

MCXSC

Matze 21. Dez 2005 22:22

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:
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;
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?

MCXSC 21. Dez 2005 22:36

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?

Matze 21. Dez 2005 22:56

Re: Zweites Fenster geöffnet bei Programmende speichern
 
Zitat:

Zitat von MCXSC
Aja.. danke. An dem try...finally-Block lags wohl... Wusste gar nicht dass der so wichtig ist bei INI-Files?

Hö wie, nun geht's? Das kann eigentlich aber nicht daran gelegen haben.

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