描述:
有一个VB COM组件中的函数(其他带简单参数的函数都没有问题!)
Public Function Login(Optional wincap As String = "Welcom", Optional subsystem As String = "GL", Optional isstraight As Boolean = False, Optional acctid As Long) As Boolean
在VC中调用老是非法操作,是不是调用参数的传递有问题
a.Login((BSTR *)"",(BSTR*)"",false,0)
解决方案1:
CComBSTR str1(L"xxx");
CComBSTR str2(L"xxx");
BOOL isstraight = FALSE;
long acctid = 0;
a.Login(&str1, &str2, &isstraight, &acctid);
a.Login(&L"",&L"",false,0);
解决方案3: 在options->directories中的include file中加入
安装路径\Microsoft Visual Studio\VC98\INCLUDE
a.Login(_bstr_t(""),_bstr_t(""),false,0)
a.Login(L"",L"",false,0);