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

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  

Why do some external functions fail when passed a boolean parameter
of True?

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:


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