var Null: Void absolute 0;
Null is a predefined variable at address nil. Null can be passed as a “void” argument to a procedure, function or operator expecting a “var” parameter. Note: Make sure they can handle this case, otherwise this is likely to cause an exception and the program will be terminated. Since Null is an L-value, it can be taken as “nil-reference”.
Null is a Borland Delphi extension.
program NullDemo; type PString = ^String; var Com1: String (25) = 'This is an amazing number'; Com2: String (25) = 'This is a boring number'; procedure FooBar (Foo: Integer; var Comment: PString); begin if Odd (Foo) then WriteLn ('FooBar:', Foo, ' is odd') else WriteLn ('FooBar:', Foo, ' is even'); if @Comment <> nil then if not Odd (Foo) then Comment := @Com1 else Comment := @Com2 end; var S: String (25); P: PString value @S; begin { FooBar allows you to leave out variables for any information you might not need } FooBar (1, Null); { But FooBar is flexible, after all } FooBar (6, P); WriteLn ('FooBar said about 6: `', P^, '''') end.