Transtypage d'une variable de type enregistrement
Bonjour !
Dans un programme (d'échecs) j'ai le type TMove :
Code:
1 2 3 4 5
| TMove = record
a, b: integer;
promote: TPiece;
bits: TMoveTypeSet;
end; |
Un tableau déclaré comme suit :
Code:
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:
FillChar(gMoveArray, SizeOf(gMoveArray), 0);
Dans le programme principal, pour savoir si un coup a été trouvé, le code actuel est le suivant :
Code:
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.