[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