我在MFC DLL中写了一个函数:
1,extern "C" LPCSTR PASCAL EXPORT p2( LPCSTR abc)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CString b=abc;
b=b.Mid(1,2);
LPCSTR c=LPCSTR(b);
//MessageBox(NULL,"",c,1);
return c;
}
当我在VB中调用的时候,为什么此函数返回了乱码?
2,我怎么样在VC中调用此DLL中的函数?
我用以下代码无法调用之:
typedef LPCSTR (*PROC)( LPCSTR );
HINSTANCE hInstance;
PROC pFunction;
long gg;
hInstance=LoadLibrary("05161.dll");
pFunction=(PROC)GetProcAddress(hInstance,"p2");
gg=(pFunction)("200");//调用该DLL函数
FreeLibrary(hInstance);
把VB的函数申明帖出来!!~给个例子!
void __stdcall DisplayStringByVal(LPCSTR pszString)
传值
Private Declare Sub DisplayStringByVal Lib "StrSamp.dll" _
(ByVal sMyString As String)
VC
typedef LPCSTR (*PROC)( LPCSTR );
改为
typedef LPCSTR (*PASCAL PROC)( LPCSTR );