API Delphi

Question:
Why do some external functions fail when passed a boolean parameter
of True?
Answer:
In Delphi 3, the value "True" for data types ByteBool, WordBool,
and LongBool is now represented as -1 for compatibility with Microsoft
Visual Basic. Note that many compilers represent "True" as either
non-zero or a positive 1. When passing values to non Visual Basic
applications, you should consider using the following technique
to avoid incompatibilities:
LongBool(Abs(True));
When accepting boolean values from any external source, you should
always test against the value "False". The following technique should
always work, since the value for false is always zero:
if BoolValPassed <> False then DoSomething.