У меня такая проблема.
Есть COM`овская dll`ка, написанная на C++. Внутри dll`ки вызывается CoInitializeEx(NULL, COINIT_MULTITHREADED) — там необходимо использовать многопоточную модель.
При вызове методов dll`ки из приложения, написанного на C++, всё нормально. А при вызове из приложения, написанного на VB, CoInitializeEx возвращает ошибку RPC_E_CHANGED_MODE — "cannot change thread mode after it is set".
Вызов делается так:
Dim a As Object
Set a = CreateObject("XXX.XXX")
a.TestCoInitEx
Кто-нибудь сталкивался с этим? Как вызвать из VB методы многопоточной COM`овской dll`ки?