| Anatoly Podgoretsky |
| Закрытие крестиком и по клавише вызывают разные обработчики. |
Это первое, что мне пришло на ум, когда AV стало вылезать только при нажатии на крестик. Самое интересное, если перед закрытием формы я все-таки коннектился к БД диалогом, то последующее нажатие любой кнопки исключения уже не вызывало.
Слава Богу, посидев и подумав, ЧТО я поменял в проекте за последние сутки (а до этого ошибка не вылезала), удалось найти ее причину:
| Андрей Спильный |
| наверняка у вас попытка вызова метода уже освобожденного объекта (например еще раз делаете фри ему) |
Андрей, Вы оказались правы. Поначалу в одной из форм (создаваемой в RunTime) в результате отработки диалога создавалась в RunTime еще одна временная форма c промежуточными данными. Код изменился и потребность в этой форме отпала, а "мусор" со ссылкой на нее остался. При явном вызове метода OnClose или Terminate все прокатывало (вот оно - "...Закрытие крестиком и по клавише вызывают разные обработчики ..."), "крестик" же вызвал этот сабж.
Полечилось все очень просто, скидыванием в новый каталог "нужных" модулей и включением в проект их заново.
Спасибо всем за помощь и советы.
===
Док.