J'ai un bug étonnant sous Lazarus

j'ai tenté une conversion de mon project CBM64W (émulateur C64) de Delphi à Lazarus et je tombe sur une erreur que je ne comprend pas

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
procedure test;
var
  p : TLogPalette;
  h : THandle;
begin
  h := CreatePalette(pLogPalette(@p)^);
end;
ok, le code ne sert pas à grand chose mais dans mon projet "p" est d'un autre type.

à la compilation j'ai "Incompatible type for arg no. 1: Got "LOGPALETTE", expected "tagLOGPALETTE" ce qui me laisse perplexe à la vue de la déclaration de LOGPALETTE

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
     LOGPALETTE = record
          palVersion : WORD;
          palNumEntries : WORD;
          palPalEntry : array[0..0] of PALETTEENTRY;
       end;
     LPLOGPALETTE = ^LOGPALETTE;
     tagLOGPALETTE = LOGPALETTE;
     TLOGPALETTE = LOGPALETTE;
     PLOGPALETTE = ^LOGPALETTE;
tout cela sous Seven 64bits
Lazarus 0.9.28.2 beta
FPC 2.2.4