![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при закрытии программы
kofman © (2002-11-13 22:13:00)Мастера, может кто-то сталкивался с такой проблеммой: у меня есть программа с главной формой(Border=None) на форме имэйдж щелчок по которому эту форму закрывает (halt). Если я сразу после запуска программы щелкаю по имэйджу то программа не закрывается а появляется сообщение о ошибке Access violation at address 00451004 in module "Project.exe". Read of address 01912EF4. Закрываю окно с ошибкой, появляется еще одно но с другими адресами, закрываю и его, появляется Runtime error 216 at 0043A5FD. И только потом прога закрывается. Может кто знает в чем дело. Я методом тыка определил, что тут как-то виновата процедура чтения и записи в реестр (она работает в OnFormCreate), но и читает и записывает все правильно. После ее отключения все нормально, но мне она нужна работающая.
Заранее спасибо.
kofman (2002-11-15 23:10:00) [1]Спасибо за ответы, я вроде устранил ошибку, но не понял как...
BoxTer (2002-11-14 10:08:00) [2]KoluChi прав!!!
на событие onCloseQuery своей формы вешай работу с реестром, а потом... просто.... Form1.close;
KoluChi (2002-11-14 10:02:00) [3]Halt performs an abnormaltermination of a program and returns to the operating system.
Почему бы не использовать просто Application.MainForm.Close() -все корректней, чем Application.Terminate();
kofman (2002-11-14 09:56:00) [4]Да пробовал уже, может есть еще соображения?
Юрий Зотов (2002-11-13 23:13:00) [5]Попробуйте Application.Terminate вместо Halt. Это даст возможность доработать до конца всем процедурам в стеке вызовов и только потом приложение завершится.
kofman (2002-11-13 23:12:00) [6]Задержку после клика по имэйджу?
Snap (2002-11-13 22:42:00) [7]а задержку пробовал поставить?