我有一个使用C ++ COM DLL的VB6应用程序,并在两者之间传递BSTR。我使用return ::SysAllocString(L"example");
从C ++ DLL返回BSTR。
在以下示例中,我是否需要在此类字符串上调用SysFreeString
?
Sub Main()
Dim own_str As String
Dim dll_str As String
own_str = "my own string"
dll_str = DllComObj.FunctionReturningString()
' when leaving the scope:
' no need to free own_str,
' do I need to free dll_str?
End Sub
答案 0 :(得分:3)
不,不。 VB6将释放它们,因为BSTR是其本机字符串格式。