Показать сообщение отдельно
  #1  
Старый 02.09.2017, 17:21
vers0 vers0 вне форума
Прохожий
 
Регистрация: 21.12.2013
Адрес: Донецк
Сообщения: 26
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Ошибка "invalid pointer operation"

Проблема в CheckBox'e и сохранении его состояния в Ini-файл.
Не могу понять, как сделать так, что бы ставя галочку на CheckBox "Сохранить настройки программы" программа создавала Ini-файл и записывала туда значение самого чекбокса, т.е. при запуске он проставлялся автоматом, а при снятии удалял этот самый Ini-файл.

Вот что наваял (если поставить галку и перезапустить программу - выдает ошибку):

Код:
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Settings.ini');
Ini.WriteBool('Settings','Save_Settings',CheckBox2.Checked);
Ini.Free;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if CheckBox2.Checked=false then
  begin
  DeleteFile('Settings.ini');
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Settings.ini');
CheckBox2.Checked:=Ini.ReadBool('Settings','Save_Settings',CheckBox2.Checked);
Ini.Free;
end;
Собственно не смотря на ошибку, все работает...

Просьба сильно тапками не кидаться, я первый раз использую INI, да и вообще не силен в программировании.
Ответить с цитированием