Здравствуйте, Eugene Sh, Вы писали:
ES>Из скрипта Rational Robot`а я пытаюсь вызвать методы из этой dll`ки: ES>Dim a As Object ES>Set a = CreateObject("XXX.XXX") ES>a.SameMethod 'В этом методе вызывается CoInitializeEx(...)
ES>Так проблема в том, что CoInitializeEx возвращает ошибку RPC_E_CHANGED_MODE — "Cannot change thread mode after it is set". Хотя при вызове тех же методов из программы, написанной на C++, всё проходит нормально.
ES>P.S. Если сделать dll`ку однопотоковой и вызывать CoInitialize(NULL), то он не вернёт никакой ошибки.
А где ты в dll-ле вызываешь CoInitializeEx? Это допустимо только в тобой созданных потоках.