Имя пользователя:
Пароль:
 

Название темы: Немодальные окна в Delphi
Показать сообщение отдельно
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Greshnick, Судя по коду, валится на месте вызова виртуальной функции (скорее всего она вызывается в цикле, а объект ты удалил, значит нет указателя на виртуальную таблицу)
Попробуй:
1. добавь проверку или блокировку на все циклы в программе. При выходе подай сигнал, если есть активные циклы.
2. посмотри стек, возможно найдёшь в нём, что за цикл у тебя выполняется
Полезно добавить (и пусть меня побьют) _глобальную_ булевую переменную, говорящую о завершении программы. Все циклы должны проверять, что она равна "не завершено".

Можно выяснить, что за функция:
1. запускаешь проект
2. открываешь disassembly, находишь адрес ip=0x22331e, ставишь на него брейк-поинт
3. запускаешь отладку, делаешь что угодно (только не закрываешь). Рано или поздно на нём встаешь
4. Открываешь стек вызовов, смотришь, как туда пришло
Скорее всего окажется какой-нибудь onPaint в флеше, но найдёшь к нему путь, разорвёшь внешний цикл, добавишь ему какой-нибудь stopFlash()
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:54, 22-07-2013 | #3

Название темы: Немодальные окна в Delphi