我在Windows 7 64位上的Visual Studio 2015中使用MFC。
在我的应用程序中,有一个activeX控件,我需要在activeX控件和我的应用程序之间进行通信。
但是activeX需要我的应用程序将LPDISPATCH指针/接口传递给它。
如何获取应用程序方法(OnExtRequest)的LPDISPATCH指针/接口?
这是activeX:
提供的方法void SetOnExtRequest(LPDISPATCH propVal)
{
SetProperty(0x4, VT_DISPATCH, propVal);
}
这是我的应用程序的回调函数(将此函数的LPDISPATCH指针/接口传递给activeX)
int CMyDlg::OnExtRequest(CString sObj, int uMeth, CString sData, int uHandle, CString sPeer)
{
//TODO:......
}
Plz帮助我,谢谢!
答案 0 :(得分:1)
您的OnExtRequest()
回调方法不是ActiveX对象的一部分,因此您无法将其直接传递给SetOnExtRequest()
。您需要编写一个实现IDispatch
的类,并使其Invoke()
实现调用您的OnExtRequest()
方法。然后创建该类的实例并将其传递给SetOnExtRequest()
。