C ++ DLL bool值在VBA中始终读为False

时间:2016-11-23 18:52:08

标签: c++ excel vba winapi

我有一个使用C ++编写的DLL,其中包含如下函数:

bool _stdcall vbaBoolTest(LPSAFEARRAY *values)

我已经设置了Visual Studio让我使用Excel调试DLL。我在VBA中声明了这个函数:

Private Declare Function vbaBoolTest Lib "myDLL.dll" (ByRef values() As Double) As Boolean

并且我注意到该函数在VBA方面总是评估为True。我可以调试使用这些函数的宏,并在C ++代码中设置断点。我试图在C ++中强制该值为false,但宏总是将返回值读为False。我通过在C ++中将返回类型更改为BOOL并返回TRUE或FALSE来解决它。

我想知道这是否是推荐的做事方式,或者是否有更好的方法。

0 个答案:

没有答案