delphi写得DLL如何像易语言那样返回一串文本??
比如易语言的子程序,文本型文本,文本型文本="111111111"'在易语言中这里可以是无限的!返回(文本)delphiFunctionwenben:??;//什么类型?...
比如 易语言的
子程序,文本型
文本,文本型
文本="111111111" '在易语言中这里可以是无限的!
返回(文本)
delphi
Function wenben :??; //什么类型?
var wenben:???;
begin
wenben:='???' //我这样写就能写一行,多了就错误!怎么写无限多呢?
result:=wenben;
end;
总之就是 返回 无限个字节的文本内容! 展开
子程序,文本型
文本,文本型
文本="111111111" '在易语言中这里可以是无限的!
返回(文本)
delphi
Function wenben :??; //什么类型?
var wenben:???;
begin
wenben:='???' //我这样写就能写一行,多了就错误!怎么写无限多呢?
result:=wenben;
end;
总之就是 返回 无限个字节的文本内容! 展开
展开全部
那个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里面分配内存,主程序释放。
除非增加了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里面分配内存,主程序释放。
追问
这个 返回值 比如 有1000个字节呢?
是不是可以.
var
a,b,c,d,e,string;
begin
a:="返回值";
b:="xxxxxx";
省略..........
e=a+b+c+d;
str:=allocmem(e);
strpcopy(str,e,length(e));
展开全部
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;
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Function wenben(istr:string):string
begin
result:=istr;
end;
调用:
var
s:string;
begin
s:=wenben('1231231')
showmessage(s); //应该弹出显示的是 1231231
end;
begin
result:=istr;
end;
调用:
var
s:string;
begin
s:=wenben('1231231')
showmessage(s); //应该弹出显示的是 1231231
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果在DLL中,写返回类型是 PCHAR或PAnsiChar吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询