Thema: Delphi Problem mit Registry

Einzelnen Beitrag anzeigen

cruso
(Gast)

n/a Beiträge
 
#1

Problem mit Registry

  Alt 26. Mär 2006, 10:18
Hi!

Seit ich folgenden Code hinzugefügt habe, kommt immer ein Laufzeitfehler und ich habe keine Ahnung warum. Könnt ihr mir vllt helfen?

Delphi-Quellcode:
procedure TForm1.CheckBox1Click(Sender: TObject);
var sl: TStringList; RButton,CBox,CzBox:String; MyReg:TRegistry;
begin
//Einstellungsüberprüfung:
if RadioButton1.Checked=true then RButton:='1';
if RadioButton2.Checked=true then RButton:='2';
if RadioButton3.Checked=true then RButton:='3';
if RadioButton4.Checked=true then RButton:='4';
if CheckBox2.Checked=true then CBox:='1else CBox:='0';
if CheckBox1.Checked=true then CzBox:='1else CzBox:='0';
//Schreiben:
  sl:=TStringList.Create;
  try
    sl.Add(RButton);
    sl.Add(CBox);
    sl.Add(IntToStr(ListBox1.Items.Count));
    sl.Add(CzBox);
    sl.SaveToFile(GAD+'SettingsData.txt');
  finally
    sl.free;
  end;
 //--------------------------------------------------------
{Seit ich den Code (ab hier) eingefügt habe kommt es zu einem Laufzeitfehler!!!}
if CheckBox1.Checked=True then begin
  MyReg:=TRegistry.Create;
  try
    MyReg.RootKey:=hkey_local_machine;
    MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
    MyReg.WriteString('bla',Application.ExeName);
    MyReg.CloseKey;
  finally
    MyReg.Free;
  end;
  end else begin

  MyReg.RootKey:=hkey_local_machine;
  MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
  if MyReg.ValueExists('bla') then
    MyReg.DeleteValue('bla');
  MyReg.CloseKey;
end;
end;
//EDIT: Der Fehler tritt nur auf, wenn CheckBox1.Checked:=False ist oder wärend der Laufeit wird.



Danke schon mal im voraus für eure Hilfe!

MfG
Cruso
  Mit Zitat antworten Zitat