![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Access violation Как отловить? [D6, WinXP]
Eugene1501 © (2004-08-13 20:35:00)Столкнулся со следующей проблемой, кто может помогите.
MDI приложение, в форме MDIChild создаю некий обект, на событие OnDestroy дочерней формы записал <объект>.Free
Если перед закрытием приложения я зыкрываю все дочерние формы - все работает как нужно, если же я закрываю главную форму в то в ремя как у меня есть открытые дочерние окна то выпадает сообщение Access violation at address 00000000.
Такое подозрение, что если дочернюю форму закрывает главная
форма, то метод Destroy не вызывается или что-то близкое к этому.
Всем откликнувшимся заранее спасибо.
Cobalt (2004-08-14 07:49:00) [1]Что значит "не показывает"? А-я-яй, какая нехорошая :(
А точки прерывания поставить в деструкторах? А подключить "Debug DCU's"? И пойдёшь гулять по исходникам VCL.
Eugene1501 (2004-08-14 02:24:00) [2]Только делфи не показывает строку на которой это происходит (
Cobalt (2004-08-14 01:36:00) [3]Ну, что можно сказать - отлажтвай. Благо, ошибка устойчиво воспроизводится!
Eugene1501 (2004-08-13 23:38:00) [4]Непонятно в чем разница, или я закрываю главную форму с открытыми дочерними или без дочерних. Объект создается и уничтожается в дочерней форме.
Fay (2004-08-13 21:27:00) [5]Что такое "дочерняя форма"?
TUser (2004-08-13 21:03:00) [6]Поставь try ... except
Anatoly Podgoretsky (2004-08-13 21:01:00) [7]Нет это не причина, Free проверяет на nil
А вот внутри обработчика(х) может быть обращение к какому ни будь уже удаленому объекту
ferr (2004-08-13 20:40:00) [8]Access violation at address 00000000
Удаляем то, чего нет.IMHO и только.