Проблкма с COM и WndProc
От: andrei_vish Латвия  
Дата: 08.01.07 23:26
Оценка:
Здравствуйте,

У меня был компонент, написанный на C++ с использованием WinAPI. Я сделал для него COM wrapper на ATL, т.е. внутренности оставил те же. Тестовое приложение написал на VB6.

Проблема в том, что при использовании apartment threading модели не получается посылать COM events из внутренних потоков, т.е. вылетает exception. Зато скрытое окно работает отлично. Проявляется это только в тестовом приложении на VB6, для С++ приложений таких проблем нет.

При использовании free threading модели с COM events проблем нет, но скрытое окно не получает сообщений в WndProc.

В чем может быть проблема?


Спасибо.
Re: Проблкма с COM и WndProc
От: Константин Л.  
Дата: 09.01.07 12:05
Оценка: 3 (1)
Здравствуйте, andrei_vish, Вы писали:

_>Здравствуйте,


_>У меня был компонент, написанный на C++ с использованием WinAPI. Я сделал для него COM wrapper на ATL, т.е. внутренности оставил те же. Тестовое приложение написал на VB6.


_>Проблема в том, что при использовании apartment threading модели не получается посылать COM events из внутренних потоков, т.е. вылетает exception. Зато скрытое окно работает отлично. Проявляется это только в тестовом приложении на VB6, для С++ приложений таких проблем нет.


из-за отсутствия маршалинга указателя во внутренние потоки?

_>При использовании free threading модели с COM events проблем нет, но скрытое окно не получает сообщений в WndProc.


_>В чем может быть проблема?


давай код. Без кода мы тут не угадываем


_>Спасибо.
Re: Проблкма с COM и WndProc
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 09.01.07 12:13
Оценка: 3 (1)
Здравствуйте, andrei_vish, Вы писали:

_>Проблема в том, что при использовании apartment threading модели не получается посылать COM events из внутренних потоков


Connection Points и многопоточность
Автор: Tom
Дата: 07.12.04
?
... << RSDN@Home 1.2.0 alpha rev. 668>>
Re: Проблкма с COM и WndProc
От: andrei_vish Латвия  
Дата: 09.01.07 14:43
Оценка:
Всем Спасибо,
проблема действительно была в маршалинге из внутренних потоков.
Re[2]: Проблкма с COM и WndProc
От: George Seryakov Россия  
Дата: 09.01.07 14:54
Оценка: +1 :)
Здравствуйте, andrei_vish, Вы писали:

_>Всем Спасибо,

_>проблема действительно была в маршалинге из внутренних потоков.

То есть все-таки и без кода угадывают.

Но с кодом (особенно форматированным) все таки бывает попроще.

Хотя иногда код такой, что проще угадывать.
GS
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.