我的dll中有一个函数
char* _stdcall get1()
{
char* s="get";
return s;
}
或者
CString _stdcall get1()
{
CString s="get";
return s;
}
可是调用我用vb写的一个exe时,总是出现内存错误,怎么回事啊?VB中这么声明
Public Declare Function get1 Lib "Test1" () As String
char* _stdcall get1()
{
char* s="get";
return s;
}
或者
CString _stdcall get1()
{
CString s="get";
return s;
}
可是调用我用vb写的一个exe时,总是出现内存错误,怎么回事啊?VB中这么声明
Public Declare Function get1 Lib "Test1" () As String
非MFC的dll不可以么?
char* _stdcall get1()
{
char* s= new char[100];
strcpy(s, "get");
return s;
}
或者
CString _stdcall get1()
{
return new CString("get");
}
{
CString s="get";
return s;
}
----------------------
这个肯定不对,vb里面的cstring与vc不是一个东西,vc的BSTR才是vb的string,所以:
CString _stdcall get1()
{
return new CString("get");
}
这个在vb里面会出问题
{
char* s= new char[100];
strcpy(s, "get");
return s;
}
这个要看vb里面的char *是怎么定义的,不要定义成
Public Declare Function get1 Lib "Test1" () As String