How to fix the "Incompatible types: 'PPointer' and 'Pointer'" Delphi compiler error?

430 views Asked by At

When building a program that uses the Graphics32 library (the old 1.9.1 version) with Delphi XE4 (targeting Win32, if it matters), I got the following compiler error:

[dcc32 Error] GR32_LowLevel.pas(1240): E2010 Incompatible >types: 'PPointer' and 'Pointer'

Which is produced by this line: Registry.RegisterBinding(FID_FILLLONGWORD, @@FillLongWord);

Where RegisterBinding is defined as:

procedure RegisterBinding(FunctionID: Integer; BindVariable: PPointer);

And FillLongword is defined as:

var
  FillLongword: procedure(var X; Count: Cardinal; Value: Longword);

How to resolve the compiler error? To my eyes it seems that the syntax is correct, isn't @@ means 'pointer of pointer', which is PPointer? Thanks.

0

There are 0 answers