佚名通过本文主要向大家介绍了布尔型,布尔型变量,布尔型数据,布尔型变量定义,什么是布尔型等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于控件布尔型参数
描述:
解决方案1:
描述:
我做了一个ATL控件,其中IDL中有这么一个方法,返回布尔型
[id(4), helpstring("method IsAvailable")] HRESULT IsAvailable([in] long hWnd, [out,retval] BOOL *rt);
然而编译控件后,在VB的工程中引用,在对象浏览器中查看定义则为:
Function IsAvailable(hWnd As Long) As Long
返回类型为Long型了。
我知道BOOL的定义实际为int,即
typedef int BOOL;
所以在VB中返回Long。
那么如何使返回类型在VB中为Bool型呢?急!!!谢谢了。。。
解决方案1:
VARIANT_BOOL和BOOL之间也有区别。BOOL为long,在BOOL中,TURE为1,FALSE为0。VAIRNAT_BOOL为short,在VARIANT_BOOL中,VARIANT_TRUE为-1(0xFFFF),VARIANT_FALSE为0(0x0000)。并且VARIANT_BOOL是和VB中的Boolean相同的,就像BSTR和String的关系一样。所以,在自动化组件及控件中应该使用VARIANT_BOOL。
用VARIANT_BOOL而不用BOOL即可