Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2012, 20:05   #1
Nipel
Новичок
Джуниор
 
Регистрация: 13.11.2011
Сообщений: 1
Печаль Сохранение настроек в ini файле

помогите решить проблему, у меня есть программа заставка которая отображает аналоговые часы, в настройках два чекбокса, включающие отображение цифровых часов и даты, сохраняет все нормально, но при загрузки настроек из файла вылетает ошибка в том случае если чекбокс сохранился как true.
в ошибке написано: Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 0045DC8E in module 'Project1.exe'. Write of address 00000004'. Process stopped. Use Step or Run to continue.
и синим выделает тот чекбокс где должна поставится галочка.
сам код, ошибка в unit2:
Вложения
Тип файла: txt unit1.txt (5.7 Кб, 130 просмотров)
Тип файла: txt unit2.txt (2.4 Кб, 124 просмотров)
Тип файла: txt Project1.txt (505 байт, 124 просмотров)
Nipel вне форума Ответить с цитированием
Старый 16.03.2012, 20:12   #2
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

А почему не:
Код:
checkbox1.Checked:=true
и
Код:
checkbox1.Checked:=false
?
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 16.03.2012, 23:44   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ошибка то не в этом, а в том, что на чекбоксе есть событие
Код:
procedure TCFG.CheckBox1Click(Sender: TObject); //цифровые часы
begin
 if CheckBox1.Checked then
 begin
 Form1.Label1.Visible:=true;      //тут выдает ошибку!!!!
 end
 else
  begin
     Form1.Label1.Visible:=false;
  end;
end;
в том случае, когда
Код:
...
   Application.CreateForm(TCFG, CFG);
   Application.CreateForm(TForm1, Form1);
в момент срабатывания присвоения чекбоксу,
Form1 - ещё не создана. обращение к методам несуществующего объекта - получается Access Vioaltion!

Меняйте вашу хитро закрученную логику с двумя окнами!

(ну или создавайте оба окна - и делайте одно видимым, второе - невидимым - и переключайте их по мере необходимости...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.03.2012, 08:55   #4
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Ну так может стоит работать с чеком, после создания формы, а луч даже из Unit создаваемой формы обращаясь ВашаForm.ChecBox и т.д.
kta87 вне форума Ответить с цитированием
Старый 17.03.2012, 18:55   #5
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

А за что заминусили меня? Хоть объясняйте свои действия!
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение настроек в ini IpCod Общие вопросы Delphi 14 05.10.2009 23:01
Сохранение настроек - ? Evgenii Общие вопросы Delphi 3 03.07.2009 14:43
Сохранение настроек blackstersl Общие вопросы Delphi 3 21.12.2008 12:37