VARIANT_BOOL与BOOL

Rob*_*Rob 7 c++ com

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

我可以坚持好旧BOOL(IIRC只是一个无符号的int)但是那样VARIANT_BOOL,我不应该使用它吗?如果我使用它,并从C++应用程序调用这些方法,我必须添加额外的代码,因为VARIANT_BOOL它不像'普通'布尔值,我必须检查VARIANT_TRUEVARIANT_FALSE值.

VARIANT_BOOL不合时宜的,我可以忘记,还是应该坚持下去?

cra*_*str 2

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