首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi调用DLL简单有关问题

2012-02-09 
delphi调用DLL简单问题,请教各位在dll中定义一个函数:intgetAll(int&iTime,char*str){改变了iTime的值和st

delphi调用DLL简单问题,请教各位
在dll中定义一个函数:
int   getAll(int&   iTime,char*   str)
{
        改变了iTime的值和str的内容
}

delphi中:
function   getAll(var   iTime:Integer;str:PChar):Integer;stdcall;external   'mydll.dll '
为什么我调用之后,只有iTime可以取到改变后的值,而str不行?
我试过定义为   var   str:PChar也不行。

[解决办法]
函数定义基本没错,可能有两个问题
1.由于C的缺省调用方式为cdecl的,如果原C函数没有特别的申明,改stdcall为cdecl试试
2.估计str要在你的程序中申请内存,先用GetMem试试(除非你调入的是array[0..xxx] of char)

热点排行