Now it defined as:
{$IFDEF VER140UP}
IPointer = NativeInt;
{$ELSE}
{$IFDEF CPUX64}
IPointer = IntPtr;
{$ELSE}
{$IFDEF CPU64} IPointer = LongWord;{$ELSE} IPointer = Cardinal;{$ENDIF}{$ENDIF}
{$ENDIF}
and there are two problems:
[dcc32 Warning] uPSUtils.pas(786): W1024 Combining signed and unsigned types - widened both operands
Possible fix:
{$IFDEF DELPHI2009UP}
IPointer = NativeUInt;
{$ELSE}
IPointer = Cardinal;
{$ENDIF}
Now it defined as:
and there are two problems:
NativeIntis incorrectly defined in Delphi 2007 ( https://stackoverflow.com/questions/7630781 )Possible fix: