//VC代码
extern "C" __declspec(dllexport) long __stdcall TT_data(long aa,char * bb)
{
bb="我爱中国";
return (1) ;
}
//PB代码
function long TT_data(long aa, ref string bb) LIBRARY "data.dll";
integer li_i
long ll_aa
string ls_bb
li_i = TT_data(8,ls_bb)
if li_i = 1 then
messagebox("",ls_bb)//ls_bb=我爱中国
end if
请各位老大帮忙看一下,本人自己用VC制作的dll用PB调试,TT_data外部函数返回正常,可ls_bb却无法返回"我爱中国",代码都可以执行的.
------解决方案--------------------
把bb="我爱中国"; 改为
strcpy(bb,"我爱中国") ;
或者
sprintf(bb,"我爱中国");
------解决方案--------------------
同意楼上所述
楼主C++还需要好好学习,指针字符串不能直接赋值的,要用strcpy