delphi中参数的传递:out与var的区别计算机二级考试
文章作者 100test 发表时间 2009:04:09 22:58:12
来源 100Test.Com百考试题网
out与var都是传址参数。而out仅仅接受返回的值,对out的任何输入都会被忽略,其它的类似var。
例如
procedure Hello(out s:String).
begin
s:=\ Hello,\ S.
end.
procedure TestOut.
var s:String.
begin
S:=\ World\ .
Hello(S). //此时S的值是\ Hello,\ 而非\ Hello,World\ !,在过程Hello中的S的原始值被丢弃了!
ShowMessage(S).
end.
同时out传递给过程的实际参数不必进行初始化。如:
procedure Getwhat(out Aout.SomeType).
..........
var
TheOut:SomeType.
begin
GetWhat(TheOut).//实际参数Theout不需要进行初始化即可传递,编译器通过。
end.
而在实际应用中编写使用COM或CORBA等分布式对象模型的程序时,需要经常使用外部参数。