![]() |
Registry Problem
Guten Tag..
Ich wollte mir einen kleinen wecker proggen, doch hab ich ein problem... Wenn ich die Check-box einmal anklicke geht es doch wen ich sie dan wieder anklicke also unchecke kommt bei meinem Code immer eine Fehlermeldung :Fehler beim Setzten der Daten für 'Wecker' Ich arbeite zum ersten mal mit der Registry und kan mir leider nicht weiter helfen. Ich wollte nämlich das wenn man die CheckBox klickt der wert (1-0,an-aus)gespeichert wird und beim start des Programmes entweder die CheckBox checked ist oder ebend leer. Hier der Code
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; type TForm1 = class(TForm) GroupBox1: TGroupBox; CheckBox1: TCheckBox; Label1: TLabel; OpenDialog1: TOpenDialog; Edit1: TEdit; Button1: TButton; Label2: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private {Private-Deklarationen } public end; var Form1: TForm1; Reg : TRegistry; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var sound: String; begin OpenDialog1.Execute; sound := opendialog1.FileName; Edit1.Text := sound; end; procedure TForm1.FormCreate(Sender: TObject); begin Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey('Software\DaZaRt', True); Label2.Enabled:=False; Button1.Enabled:=False; Button2.Enabled:=False; Edit1.Enabled:=False; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then begin Label2.Enabled:=True; Button1.Enabled:=True; Button2.Enabled:=True; Edit1.Enabled:=True; try Reg.WriteString('Wecker','1'); finally Reg.Free; end; end else begin Label2.Enabled:=False; Button1.Enabled:=False; Button2.Enabled:=False; Edit1.Enabled:=False; try Reg.WriteString('Wecker','0'); finally Reg.Free; end; end; end; end. |
Re: Registry Problem
Beim ersten Checkbox Klick rufts du ein
Delphi-Quellcode:
auf, und deshalb ist bei einem weiteren Klick deine Referenz zu reg verloren... Folge: Es knallt dir ne Fehlermeldung um die Ohren.
reg.Free ;
|
Re: Registry Problem
Achjaaa xD
Danke schön |
Re: Registry Problem
Warum ist die Variable reg überhaupt global? Hättest du sie lokal deklariert, wäre dir das nicht passiert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 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