这是我的C ++非托管DLL代码。
void Only(char *a)
{
*a++ = 'p';
*a++ = 'r';
*a++ = 'a';
*a++ = 'n';
*a++ = 'i';
*a++ = 0;
}
.def文件用于导出符号。
我在VB.Net应用程序中使用了Only函数,如下所示,
Declare Sub Only Lib "dllproj2.dll" Alias "Only" (b As StringBuilder)
....
Dim s As StringBuilder = New StringBuilder()
Only(s)
工作正常。但是当我尝试使用b作为ByRef时,如下所示,
Declare Sub Only Lib "dllproj2.dll" Alias "Only" (ByRef b As StringBuilder)
它给出了图像中显示的异常。
我不明白为什么。 ByRef在这里不合适吗?
感谢。