c++ - VARIANT_BOOL 与 BOOL

标签 c++ com

我正在使用 ATL 在 C++ 中编写 COM 对象,但不确定是否应该为我的方法/属性使用 VARIANT_BOOL。该对象将由其他 C++ 应用程序调用,但我不能排除 .NET 的使用。

我可以坚持使用旧的 BOOL(IIRC 只是一个无符号整数)但是因为 VARIANT_BOOL 在那里,我不应该使用它吗?如果我确实使用它,并从 C++ 应用程序调用这些方法,我必须添加额外的代码,因为 VARIANT_BOOL 不像“普通” bool 值,我必须检查 VARIANT_TRUEVARIANT_FALSE 值。

VARIANT_BOOL 是我可以忘记的时代错误还是我应该坚持使用它?

最佳答案

VARIANT_BOOL 将使您的 COM 组件对 VB6 友好。 COM 似乎从来都不是为了在 C++ 中简单地做事而设计的,而是更专注于使其易于在 VB 中使用。不确定这是否仍然适用于 COM 组件的 .net 访问。

关于c++ - VARIANT_BOOL 与 BOOL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/300027/

相关文章:

c++ - 正在将未初始化的变量传递给另一个函数 UB

c++ - 如何设置 scons 输出完整的扩展命令行?

c++ - 使用 system() 时如何处理路径中的空格?

.net - 在 2 台机器上生成的 .tlh 不同

c# - 从非托管进程卸载 .NET DLL

c++ - 使用 GLFW 在 MacOS 上设置 OpenGL 3.2+

c# - 从 WebApi 调用 STA COM 对象

.net - 为暴露给 COM 的 .NET 类定义接口(interface)有什么好处?

c# - 使用 COM 二进制序列化作为 C# 和 C++ 不可抗拒的格式

c++ - 使用从 B 继承的具体函数实现从 A 继承的虚函数