我通过建立类向导建立一个类,大概如下:
class _AAA: public COleDispatchDriver
{
public:
_AAA() {} // Calls COleDispatchDriver default constructor
_AAA(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
_AAA(const _ClassKeys& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}// Attributes
public:// Operations
public:
short Check(LPCTSTR pA, LPCTSTR pB);
};这个是通过导入Dll自动生成的,问题是当调用Check函数时,里面有一个函数指针是空的。
一个LPDISPATCH pDispatch这样的指针。
我的用法是:_AAA   test;   //定义_AAA的对象
test.Check("a", "b");这是就出错了。可能是要对test输入参数来定义才行。
_AAA   test(?);   //参数的类型是LPDISPATCH ,但不知道应该赋个什么值?

解决方案 »

  1.   

    what is the error message? member not found? type mismatch?
      

  2.   

    _AAA类,也就是父类 COleDispatchDriver有三种构造函数:
    _AAA() {}// Calls COleDispatchDriver default constructor
    _AAA(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
    _AAA(const _ClassKeys& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
    如果用第一种不传参数的那个构造函数的话,则运行时会出现一个空指针。只有把LPDISPATCH pDispatch参数传进来才行,但不知该传什么进来?