[fpc-pascal] THandle in code that must compile also with Delphi
Michael Van Canneyt
michael at freepascal.org
Thu Mar 20 13:02:28 CET 2014
On Thu, 20 Mar 2014, Juha Manninen wrote:
> FileCreate and FileOpen return THandle with FPC but integer with Delphi2007.
> Delphi defines THandle as LongWord but for some reason Integer is used instead.
> With FPC on a 64-bit system THandle is 64- bit unsigned.
>
> Question: what is the best way to maintain code that must compile with
> both FPC and Delphi2007?
> The obvious solution is to use IFDEF and define a new type, say TMyHandle.
> FPC's libraries however take care of many platform differences. Is
> there any better way to solve this?
Shortly said: No. The Delphi API is wrong; It should also return THandle
(as that is what Windows CreateFile returns), but probably for historical
reasons they still use Integer.
With the advent of 64-bit delphi, they could have cleaned up their API, but Alas...
Michael.
More information about the fpc-pascal
mailing list