3,245
社区成员
发帖
与我相关
我的任务
分享
BSTR *lt=" ";
int a =comclass.TestDll(lt);
BSTR*的用法不对,直接使用BSTR的话可以使用SysAllocString来创建BSTR这个对象,这是一种方法。
但使用SysAllocString后还需要考虑释放调用SysFreeString,比较麻烦。
所以楼主可以使用2楼的方法使用CComBSTR,这样就不需要考虑释放问题了。
还有一点,我没有使用VB写过com,不知道你com接口参数的类型是否正确,在com中字符串类型都使用BSTR。
CComBSTR bstr(64); // 预分配64字符空间,根据你的需要修改
int a =comclass.TestDll(&bstr);