delphi写得DLL如何像易语言那样返回一串文本??

2025-01-08 01:21:53
推荐回答(4个)
回答1:

那个MIT1208说的明显是错误的,菜鸟帮菜鸟,Delphi里面,String是不允许作为返回值的。
除非增加了BorlandMM.dll,不过不推荐用String作为返回值。至于为什么,你可以去看看有关String的解释。

在dll里面返回String一般是采用内存块返回的方法。

procedure returnStr(str:PAnsichar);
var
s:string;
begin
s:="返回值";
str:=allocmem(7);
strpcopy(str,s,length(s));
end;
///主程序
var
str:pansichar;
begin
returnStr(str);
ShowMessage(str);
free(str);
end;

好久没用Delphi了,有些函数的参数忘了顺序,以上代码盲写的,没有测试过,只是演示一下参数传递。最关键的就是在dll里面分配内存,主程序释放。

回答2:

Delphi

function ReturnStr(const Str:string):string; //函数
begin
Result :='我增加的字符串文本是:' + Name;
end;

在窗体上放入一个button.然后双击button.在click事件中写入
var
MyStr:string;
ReturnString:string;
begin
MyStr:='百度知道';
ReturnString :=ReturnStr(MyStr);
ShowMessage(ReturnString);
end;

回答3:

Function wenben(istr:string):string

begin
result:=istr;
end;
调用:
var
s:string;
begin
s:=wenben('1231231')
showmessage(s); //应该弹出显示的是 1231231
end;

回答4:

如果在DLL中,写返回类型是 PCHAR或PAnsiChar吧。