更详细的请参阅:http://blog.csdn.net/rznice/article/details/6960011
procedure test (Value: Integer; var Reference: Integer; out OutVar: Integer);
::
Value: 传值;只能传入数据,不能传出数据。
Reference: 传入引用,也就是变量的地址;也可不指定变量的类型;
既可传入也可传出数据变量。
OutVar: 也是传入引用,但只能传出数据,不能传入数据。
Examples:
function DoubleVal (Val: Integer) : Integer;
begin
Val := Val * 2;
Result := Val;
end;
function DoubleRef (var Val: Integer): Integer;
begin
Val := Val * 2;
Result := Val;
end;
var
I, J: Integer;
begin
I := 2;
J := DoubleVal (I); // I = 2; J = 4;
//如果调用下面的话,
// J := DoubleRef (I); // I = 4; J = 4;