Тема: Возможно ли использовать COM-интерфейс VBA в приложениях под Visual C++?

Возможно ли использование в приложениях под Visual C++ того COM-интерфейса, который используется VBA?
Или использование этого интерфейса в отдельных приложениях (EXE), которые создавали бы копию акада и работали с ним? Как это сделать?

Re: Возможно ли использовать COM-интерфейс VBA в приложениях под Visual C++?

Нет никакой разницы, откуда ты пользуешь COM объекты - из VBx или из C++.
А что ты понимаешь под "созданием копии ACAD-а"? Ты, что свой ACAD написал и вся загвоздка только с COM объектами?

Re: Возможно ли использовать COM-интерфейс VBA в приложениях под Visual C++?

> Exhumer
Естественно, никакой разницы, на каком языке писать ? нужно лишь знать, КАК его использовать.
VBA:

  Set acad = new AutoCAD.Application;
  acad.Visible = True;
  ...

В сях же полно непонятных интерфейсов вроде IAcadApplication (GUID которого отличается от AutoCAD.Application). Как им пользоваться, хз. Поможите убогому!

Re: Возможно ли использовать COM-интерфейс VBA в приложениях под Visual C++?

Все интерфейсы описаны в файле acad15.h. Это то же самое, что и ObjectBrowser-е в VBA.
Ну а твой пример на С++:

IAcadApplication *pAcadApp = NULL;
CWinApp *pApp = acedGetAcadWinApp();
if( pApp != NULL )
{
  LPDISPATCH pAppDisp = pApp->GetIDispatch( TRUE );
  if( pAppDisp != NULL )
  {
    hRes = pAppDisp->QueryInterface( IID_IAcadApplication, (LPVOID *)pAcadApp );
            pAppDisp->Release();
  }
}
if( pAcadApp != NULL )
  pAcadApp->put_Visible( TRUE );

Re: Возможно ли использовать COM-интерфейс VBA в приложениях под Visual C++?

См. обсуждение: https://www.caduser.ru/forum/topic5484.html