我有一个DLL,它为函数提供了一个定义为
的变量参数列表my_func(int var,...)
根据my_func()的调用方式,它会提供更多或更少的附加参数。
现在这个DLL必须由基于MFC的ActiveX控件包装。对于方法定义,我可以找到许多包含在特定的预定义类型中的VT_和VTS_定义。但是,也可以使用带有这样的可变参数列表的ActiveX方法吗?
如果是:如何实施?
答案 0 :(得分:0)
虽然技术上可行,但通过在IDL中使用vararg
关键字和指定为SAFEARRAY(VARIANT)
的参数,不支持在MFC ActiveX项目中指定此类方法。你可以用ATL代替它,但我认为这只是为了获得你描述的功能会带来巨大的不便。
一些更好的选择(在我看来)将是:
我的选择是1。