Einfach mit einem Default-Wert belegen sollte ausreichen:
procedure TestProc(a: string; var x: Boolean = True);
Kann aber sein, dass das bei Var-Parametern nicht funktioniert. Habe ich noch nicht getestet
Wie sollte es denn funktionieren?
Wenn es die externe Variable nicht gibt, dann kann sie auch keinen Wert haben.
Lösung siehe #2.
Die andere Alternative wäre ein Pointer, statt einem Var, aber so schön ist das nicht unbedingt.
Delphi-Quellcode:
procedure TestProc(a: string; x: PBoolean=nil);
var
y: Boolean;
begin
if not Assigned(x) then
x := @y;
x^ := True;
.....
x^ := False;
end;
oder
Delphi-Quellcode:
procedure TestProc(a: string; x: PBoolean=nil);
begin
if Assigned(x) then
x^ := True;
.....
if Assigned(x) then
x^ := False;
end;