procedure TForm1.CheckBox1Click(Sender: TObject); var myINI : TINIFile; begin myINI := TINIFile.Create(ExtractFilePath(Application.EXEName) + 'Settings.ini');
if (CheckBox1.Checked) then myINI.WriteString('Settings', 'Autoload', ''); myINI.Free; if NOT (CheckBox1.Checked) then myINI.WriteString('Settings', 'Autoload', 'Checked'); myINI.Free;
end;
------------------------------------------------
Hvordan kan det være at det ikke virker? Kan åbne programmet, men når jeg prøver at udføre funktionen går det galt.
Prøv med nedenstående. Problemet er at du ligemeget hvad får udført myINI.Free; 2 gange, og det vil selvfølgelig fejle anden gang eftersom objektet allerede er blevet frigivet.
procedure TForm1.CheckBox1Click(Sender: TObject); var myINI : TINIFile; begin myINI := TINIFile.Create(ExtractFilePath(Application.EXEName) + 'Settings.ini');
if (CheckBox1.Checked) then myINI.WriteString('Settings', 'Autoload', ''); else myINI.WriteString('Settings', 'Autoload', 'Checked');
Men din indrykning gør ingen forskel i din IF. IF tager kun 1 linie efterfølgende - med mindre du benytter BEGIN og END
Eks: if (CheckBox1.Checked) then begin myINI.WriteString('Settings', 'Autoload', 'Checked'); myINI.Free; end; if NOT (CheckBox1.Checked) then begin myINI.WriteString('Settings', 'Autoload', 'UnChecked'); myINI.Free; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.