class ProdelInterface : public COleDispatchDriver
{
public:
ProdelInterface() {} // Calls COleDispatchDriver default constructor
ProdelInterface(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
ProdelInterface(const ProdelInterface& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}// Attributes
public:// Operations
public:
CString OpenDrawing(LPCTSTR defaultpath, LPCTSTR actualcircuit);
CString NewDrawing(LPCTSTR defaultpath);
CString SaveDrawingAs(LPCTSTR defaultpath, LPCTSTR actualcircuit);
};但是用的时候无法用CreateDispatch()进行创建,以至函数无法调用,请问这种问题如何解决!
{
public:
ProdelInterface() {} // Calls COleDispatchDriver default constructor
ProdelInterface(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
ProdelInterface(const ProdelInterface& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}// Attributes
public:// Operations
public:
CString OpenDrawing(LPCTSTR defaultpath, LPCTSTR actualcircuit);
CString NewDrawing(LPCTSTR defaultpath);
CString SaveDrawingAs(LPCTSTR defaultpath, LPCTSTR actualcircuit);
};但是用的时候无法用CreateDispatch()进行创建,以至函数无法调用,请问这种问题如何解决!
这个方法使用更简单一些,如果你观察 MFC 帮你产生的包装类的实现,你就会发现,其实它调用的是 IDispatch 接口函数。
使用 vc6.0 ,步骤如下:
1、建立一个 MFC 的应用程序
2、开启 ClassWizard,执行 Add Class,选择 From a type library
3、然后找到你要使用的组件文件 ProdelInterface.dll(tlb 文件也可以),选择接口后确认.使用 vc.net,步骤如下:
1、建立一个 MFC 的应用程序
2、执行菜单“添加\添加类”,选择 MFC 分类中的“类型库中的MFC类”
3、选择组件文件 ProdelInterface.dll(或 tlb 文件),并选择需要包装的接口.4、在适当的位置输入调用代码
#include "ProdelInterface.h" // 包装类的头文件void demo()
{
// 已经进行过了 COM 初始化 ProdelInterface spDisp; // 包装类的对象
spDisp.CreateDispatch( _T("") ) // 启动组件
spDisp.xxx(...); // 调用函数 spDisp.ReleaseDispatch(); // 释放接口
}
CreateDispatch()里面的这个参数progID,必须是组建注册后的名才能用吗?
初学com,不太懂!