VC++ Automation 1

来源:互联网 发布:照片变卡通人物软件 编辑:程序博客网 时间:2024/05/29 03:29

VB中使用automation很直接,VC++没有直接方法。

1.  VC++ Automation 的基础是MFC, 使用Automation的项目必须是 MFC项目。

2. 非MFC项目如果需要使用服务器,可使用一个中介。中介开发成MFC的DLL, 在其中设置提供服务器服务的函数,供非MFC项目使用。

3. CreateDispatch(OLESTR("名称"), NULL) )中的名称一定要选对。一种程序可能提供有多个服务器,例如Microstation提供有MicrostationDGN.Application和Microstation.Application,Automation用到的是MicrostationDGN.Application。如果选成Microstation.Application,运行时会出现“未知错误”。

4.对象使用:

正确方法示例:

                                         CWorkspace ws;
                                          ws.AttachDispatch( app.get_ActiveWorkspace(), 1 );

                                          CString seedFiles = ws.ConfigurationVariableValue(L"MS_SEEDFILES", true );

 

错误方法示例:

                                         CWorkspace * pws= NULL;
                                          pws =( CWorkspace * )app.get_ActiveWorkspace();

                                          CString seedFiles = pws->ConfigurationVariableValue(L"MS_SEEDFILES", true );

CWorkspace是一个MFC自动生成的DispatchDrive对象,它自动release接口,无需用户显式操作。
原创粉丝点击