procedure Test;
var b: Boolean;
begin
if b then // undefined behavior — b is garbage
ShowMessage('b is true!'); end;
Always write:
procedure Test;
var b: Boolean;
begin
b := False; <<<<<<<<<<<<<
if b then ...
end;
I recommend ever declare values in initialization..