Здравствуйте koka, Вы писали:
K>Непонятная ошибка при использовании интерфейса переданного K>из другого COM обьекта. K>Я пытаюсь создать plugin похожий на DevStudio Add-in. K>Внутри основного приложения описал и создал COM обьект Application. K>Потом создаю отдельный компонент AddCt.У него есть функция K>OnConnection(IApplication* pApp, VARIANT_BOOL bFirstTime,long dwCookie, VARIANT_BOOL* OnConnection); K>Вызываю ее из основного приложения и передаю указатель на IApplication. K>Внутри AddCt описан и создан компонент Command.У Application есть K>указатель ICommand.Внутри OnConnection создается Command и вызывается K>функция обьекта Application — SetAddInInfo.B нее передается указатель K>на ICommand и строки с названиями методов ICommand. K>После этого в основном приложении через обьект Application K>можно вызывать функции ICommand.Интерфейс ICommand дуальный. K>Поэтому методы можно вызывать без Invoke. K>Все работает нормально. K>Затем я создаю отдельный компонент Process. K>Вызываю его функцию и передаю указатель на ICommand. K>Вызываю функции ICommand внутри Process. K>Invoke,AddRef,QueryInterface — работают нормально. K>Но прямой вызов моей функции вызывает ошибку. K>Debug Error ! K>Program : TradNSP.EXE K>Module : K>File : i386\chkesp.c K>Line : 42 K>The value of ESP was not properly saved across a function call. K>This is usually a result of calling a function declared with one calling K>convention with a function pointer declared with a different calling convention. K>В чем может быть дело?
А ты случайно в версиях заголовочных файлов к своим интерфейсам не запутался?
Не создавал ли копий заголовков с последующими ссылками к ним?
Может надо заново их синхронизировать?