Node:Null, Next:object, Previous:not, Up:Reference
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.