我在MSVC ++ 10中有一个ActiveX控件,它编译成.ocx。我已经为这个控件添加了另一个“ATL Simple Object”,我想从中导出一些函数。
如果调用此库OcxTest
,我必须执行以下步骤来导出函数:
在OcxTestCtrl.h文件中将该函数声明为<{1}}的受保护成员(由项目向导生成)。
在OcxTestCtrl.cpp中定义函数。
将其添加到OcxTestCtrl.cpp中的调度图:
COcxTestCtrl
在以下时间点将其添加到OcxTest.idl中的IDL :
BEGIN_DISPATCH_MAP(COcxTestCtrl, COleControl)
DISP_FUNCTION_ID(COcxTestCtrl, "Test", 1, Test, VT_I4, VTS_I4 VTS_I4)
END_DISPATCH_MAP()
现在,我在为我添加到项目中的其他“ATL简单对象”定义导出的地方有点迷失。我想前两个步骤与我写的类似。其他两个步骤怎么样?
Dispatch Map的定义是否完全类似于主要对象的定义?
在IDL中我必须放置导出的函数吗?