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.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to