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





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