Главная страница | назад





Article #17382: External function failure when passing boolean parms.

 Question and Answer Database
FAQ2382D.txt External function failure when passing boolean parms.
Category :Windows API
Platform :All
Product :All 32 bit
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.
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99