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

找个人来见见这段程序

2012-08-02 
找个人来看看这段程序!procedure TForm1.x(out i: integer out s: string)begini:i*2s:s+abcendp

找个人来看看这段程序!
procedure TForm1.x(out i: integer; out s: string);
begin
i:=i*2;
s:=s+'abc';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i:integer;
 s:string;
begin
 i:=3;
 s:='xxx';
 x(i,s);
 showmessage(s);
end;
为什么s传过去就是空了呢,最后的结果是abc,而不是xxxabc

[解决办法]
在delphi里, out型参数都会在函数内部做初始化, 比如字符串就会自动初始化为空字符串, 如果你想把参数要传入又要传出, 你应该用var而不是out, out代表的是这个参数仅供传出.

热点排行