我是通过调用DynamicWrapper,来达到调用标准的动态链接库Dll1test.dll。
在调用加法的时候成功,但是调用返回字符串函数的方法时,没有返回期望的字符串,不知道字符串返回应该如何处理?
请大家指教。
修改php代码或者修改dll代码的方法都可以接受,修改dll包括修改类型,或者返回值放在调用参数都行,只要能达到效果。具体的代码如下:
php代码:$dw = new COM("DynamicWrapper"); 
$dllFilename="Dll1test.dll";
$dw->Register($dllFilename, "add", "f=s", "i=uu", "r=l");
$ch = $dw->add(11,22); //dll的add函数调用
echo $ch."<br>";$dw->Register($dllFilename, "init7", "f=s","r=p");
$ch9=$dw->init7(); //dll的init7函数调用
echo "init7=".$ch9."<br>";对应的dll代码:
#define DLL1TEST_API extern "C" _declspec(dllexport)
DLL1TEST_API int add(int a,int b)
{
return a+b+100;
}DLL1TEST_API BSTR init7(){
char str[]="1234567890";
return SysAllocString((BSTR)str);
}