W odniesieniu do http://docwiki.embarcadero.com/RADStudio/XE4/en/Parameters_(Delphi)#Out_Parameters.
Czy są w ogóle jakieś różnice między out a var przy podawaniu parametrów?
function X(out b: Integer): Integer;
begin
result := b;
b := 11;
end;
var
a, i: Integer;
begin
a := 3;
i := -1;
i := X(a);
Writeln('a = ', a);
Writeln('i = ', i);
Readln;
end.
Powyższy kod daje mi kolejno takie wyniki:
a = 11i = 3
bna wejściu ma 3 we funkcji, spodziewałem się 0. Takie same rezultaty otrzymuję zvar.
With an out parameter, however, the initial value of the referenced variable is discarded
by the routine it is passed to. The out parameter (...) doesn't provide any input.
To ja źle to pojmuję, czy out nie działa tak, jak opisują.
*Kompilacja w Embarcadero® Delphi® XE4 (Version 18.0.4905.60485) Architect (Trial).*