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:='1' else CBox:='0';
if CheckBox1.Checked=true then CzBox:='1' else 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