mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 15:28:08 +02:00
43 lines
952 B
ObjectPascal
43 lines
952 B
ObjectPascal
{ Old file: tbs0294.pp }
|
|
{ parameter with the same name as function is allowed in tp7/delphi Yes, but in BP this leads to being unable to set the return value ! }
|
|
|
|
{$mode tp}
|
|
{ this is allowed in BP !!!
|
|
but its complete nonsense because
|
|
this code sets parameter test
|
|
so the return value can not be set at all !!!!!
|
|
of course in Delphi you can use result so there it
|
|
makes sense to allow this ! PM }
|
|
function test(var test:longint):longint;
|
|
var
|
|
x : longint;
|
|
begin
|
|
{ in BP the arg is change here !! }
|
|
test:=1;
|
|
x:=3;
|
|
end;
|
|
|
|
function st(var st : string) : string;
|
|
begin
|
|
st:='OK';
|
|
end;
|
|
|
|
var t : longint;
|
|
myst : string;
|
|
begin
|
|
t:=2;
|
|
myst:='Before';
|
|
test(t);
|
|
st(myst);
|
|
if (t<>1) then
|
|
begin
|
|
writeln('Test arg in Test function is not handled like in BP');
|
|
halt(1);
|
|
end;
|
|
if (myst<>'OK') then
|
|
begin
|
|
writeln('St arg in St string function is not handled like in BP');
|
|
halt(1);
|
|
end;
|
|
end.
|