Bonjour !

Dans un programme (d'échecs) j'ai le type TMove :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
  TMove = record
    a, b: integer;
    promote: TPiece;
    bits: TMoveTypeSet;
  end;
Un tableau déclaré comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
gMoveArray: array[0..MAX_PLY - 1, 0..MAX_PLY - 1] of TMove;
Au début de la procédure de recherche du meilleur coup, la variable gMoveArray est réinitialisée par le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  FillChar(gMoveArray, SizeOf(gMoveArray), 0);
Dans le programme principal, pour savoir si un coup a été trouvé, le code actuel est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if longint(gMoveArray[0, 0]) = 0 then
Malheureusement cette dernière ligne est refusée par plusieurs compilateurs, par exemple par Delphi 7 : "transtypage incorrect".

La même technique est utilisée à d'autres endroits du programme. J'aimerais avoir un code qui est accepté par tous les compilateurs. Merci d'avance pour vos idées.