Zitat:
siehe Bild im Anhang.
Ja und?
Es liegt einfach daran, daß es einen speziellen Debughelper gibt, welcher den Wert des Boolean-Typen interpretiert und entsprechend anzeigt.
Dabei wird der Boolean "korrekt" ausgewertet und nicht einfach nur angezeigt. Man könnte sich jetzt streiten, ob er hier nicht vielleicht besser ein "True (2)" anzeigen sollte, aber wer will, kann das bei sich gern ändern.
Delphi-Quellcode:
var
B: Boolean;
A: TAlignLayout;
begin
B := True; // True
B := Boolean(2); // True
A := TAlignLayout.Top; // Top
A := TAlignLayout(99); // (außerhalb des zulässigen Bereichs) 99
if B then ;
if A = TAlignLayout.Top then ;
if A = 99 then ; // das mag der Compiler auch nicht, obwohl es "intern" 99 ist