|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Ошибка "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, да и вообще не силен в программировании. |
#2
|
|||
|
|||
Перенес
Код:
Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'Settings.ini'); Ini.WriteBool('Settings','Save_Settings',CheckBox2.Checked); Ini.Free; в FormClose, вроде работает, но не уверен, что это правильно. |