mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 02:19:22 +01: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.
 |