从.dll文件对象WithEvents导入到C ++命令行应用程序

时间:2014-11-28 20:41:34

标签: c++ vb.net visual-studio dll mfc

我正在构建一个C ++命令行应用程序,我需要在其中导入和使用一个dll文件,我只有VB中的示例,它有一个主要对象,也有我需要访问的事件。

我已经设法通过添加MFC标题来包含它,但现在我正在努力使他们的活动发挥作用。

导入dll导致我有一个CAdministrator.h,其中包括除事件之外的所有事件,以及CIAdministratorEvents.h,其中包含事件。 虽然我已经成功创建了一个CAdministrator,但我不知道如何访问他的事件。

CIAdministratorEvents.h中的代码,显示我需要访问的事件:

#import "C:\\My.dll" no_namespace
// CIAdministratorEvents wrapper class

class CIAdministratorEvents : public COleDispatchDriver
{
public:
    CIAdministratorEvents(){} // Calls COleDispatchDriver default constructor
    CIAdministratorEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
    CIAdministratorEvents(const CIAdministratorEvents& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}


// _IAdministratorEvents methods
public:

STDMETHOD(NewError)(LPCTSTR bsError, long hError)
{
    HRESULT result;
    static BYTE parms[] = VTS_BSTR VTS_I4 ;
    InvokeHelper(0x4, DISPATCH_METHOD, VT_HRESULT, (void*)&result, parms, bsError, hError);
    return result;
}

0 个答案:

没有答案