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

比如易语言的子程序,文本型文本,文本型文本="111111111"'在易语言中这里可以是无限的!返回(文本)delphiFunctionwenben:??;//什么类型?... 比如 易语言的
子程序,文本型
文本,文本型
文本="111111111" '在易语言中这里可以是无限的!
返回(文本)

delphi
Function wenben :??; //什么类型?
var wenben:???;
begin
wenben:='???' //我这样写就能写一行,多了就错误!怎么写无限多呢?
result:=wenben;
end;

总之就是 返回 无限个字节的文本内容!
展开
 我来答
kowana
2012-01-26 · TA获得超过227个赞
知道答主
回答量:132
采纳率:0%
帮助的人:171万
展开全部
那个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里面分配内存,主程序释放。
追问
这个 返回值 比如 有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));
mit1208
2012-01-25 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1858万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人间杂货店
推荐于2017-12-26 · 数据只告诉我们事实,知识才能告诉我们真实
人间杂货店
采纳数:1319 获赞数:4312

向TA提问 私信TA
展开全部
Function wenben(istr:string):string

begin
result:=istr;
end;
调用:
var
s:string;
begin
s:=wenben('1231231')
showmessage(s); //应该弹出显示的是 1231231
end;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-01-24 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
如果在DLL中,写返回类型是 PCHAR或PAnsiChar吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式