Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 DLL,它为函数提供了一个可变参数列表,其定义如下
my_func(int var,...)
根据 my_func() 的调用方式,它需要或多或少的附加参数。
现在这个 DLL 必须被一个基于 MFC 的 ActiveX 控件包装。对于方法定义,我可以找到许多 VT_ 和 VTS_ 定义包装到特定的预定义类型。但是是否也可以有一个带有这样一个可变参数列表的 ActiveX 方法?
如果是:如何实施?
尽管在技术上是可行的,但通过使用varargIDL 中的关键字与指定为的参数结合使用SAFEARRAY(VARIANT),不支持在 MFC ActiveX 项目中指定这种方法。你可以用 ATL 来代替,但我认为这将是一个巨大的不便,只是为了获得你描述的功能。
vararg
SAFEARRAY(VARIANT)
一些更好的选择(在我看来)是:
我的选择是1。