Re: Ошибка при закрытии странички с моим компонетном в IE
От: Willi  
Дата: 11.03.04 10:31
Оценка: +1
Здравствуйте, Dalek, Вы писали:

D>Возникает странная и мною не объяснимая ошибка при закрытии странички с моим компонетном в IE

D>IE выдаёт что-то вроде "Microsoft Internet Explorer has encountered a problem and needs to close. We are sorry for the inconvenience." и умирает.
D>Компонент многопоточный и работает с Connection Point.
D>Если кто сталкивался с таким глюком, помогите.
D>Заранее признателен

Вот они прелести InProc серверов.
Скорее всего что-то неладится у тебя, а поскольку твой компонет подгружен в процесс IE, падает IE.
Запусти IE под отладчиком с отладочной версией своего компонента и посмотри в каком месте падает.
\/\/i||i
Re[3]: Ошибка при закрытии странички с моим компонетном в IE
От: Willi  
Дата: 11.03.04 11:45
Оценка: +1
Здравствуйте, Dalek, Вы писали:

D>Последовал вашему совету. Всё намного хуже...

D>Никаких исключений во время закрытия компонента не происходит, т.е. деструктор проходит нормально от начала и до конца. А затем Unhelded Exception с кодом 5.
D>Причём в том случае, если контейнером является VB, никаких багов нет

Проблемы могут быть глубже. Например у тебя некорректно считаются ссылки на твой компонент и он удаляется несмотря на то что IE все еще держит на него ссылку. В конце концов IE пытается вызвать Release у интерфейса твоего объекта, а объекта уже нет. Учитывая, что ты используешь Connection Point, это весьма вероятно, хотя и не обязательно. Ловить такие баги весьма не просто. Как говорит мой шеф, лучше средство отладки внимательное и вдумчивое чтение когда. Можно попробовать написать небольшой пример, на котором подобная проблема воспроизводится, и вынести его код на обсуждение.
\/\/i||i
Ошибка при закрытии странички с моим компонетном в IE
От: Dalek  
Дата: 11.03.04 10:27
Оценка:
Возникает странная и мною не объяснимая ошибка при закрытии странички с моим компонетном в IE
IE выдаёт что-то вроде "Microsoft Internet Explorer has encountered a problem and needs to close. We are sorry for the inconvenience." и умирает.
Компонент многопоточный и работает с Connection Point.
Если кто сталкивался с таким глюком, помогите.
Заранее признателен
Re: Ошибка при закрытии странички с моим компонетном в IE
От: Dalek  
Дата: 11.03.04 10:31
Оценка:
Да, и ещё самое интересное, что ошибка приходит окну открывшему наше окно с компонентм через пару секунд после закрытия.
Код ошибки 5.
Re[2]: Ошибка при закрытии странички с моим компонетном в IE
От: Dalek  
Дата: 11.03.04 10:55
Оценка:
Здравствуйте, Willi, Вы писали:

W>Здравствуйте, Dalek, Вы писали:


D>>Возникает странная и мною не объяснимая ошибка при закрытии странички с моим компонетном в IE

D>>IE выдаёт что-то вроде "Microsoft Internet Explorer has encountered a problem and needs to close. We are sorry for the inconvenience." и умирает.
D>>Компонент многопоточный и работает с Connection Point.
D>>Если кто сталкивался с таким глюком, помогите.
D>>Заранее признателен

W>Вот они прелести InProc серверов.

W>Скорее всего что-то неладится у тебя, а поскольку твой компонет подгружен в процесс IE, падает IE.
W>Запусти IE под отладчиком с отладочной версией своего компонента и посмотри в каком месте падает.

Последовал вашему совету. Всё намного хуже...
Никаких исключений во время закрытия компонента не происходит, т.е. деструктор проходит нормально от начала и до конца. А затем Unhelded Exception с кодом 5.
Причём в том случае, если контейнером является VB, никаких багов нет
Re[2]: Ошибка при закрытии странички с моим компонетном в IE
От: SergH Россия  
Дата: 11.03.04 12:35
Оценка:
Здравствуйте, Dalek, Вы писали:

D>Код ошибки 5.


Access Denied. Скорее всего, обращение в область памяти, к которой лучше не обращаться. Версия с неверным подсчётом ссылок очень похожа на правду, у меня было нечно похожее, правда без IE, но с таким же печальным результатом.
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.