E2033 Les types des paramètres VAR originaux et formels doivent être identiques (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Pour un paramètre variable, l'argument réel doit être du type exact du paramètre formel.



program Produce;

procedure SwapBytes(var B1, B2: Byte);
var
  Temp: Byte;
begin
  Temp := B1; B1 := B2; B2 := Temp;
end;

var
  C1, C2: 0..255;     (*Semblable à byte, mais NON identique*)
begin
  SwapBytes(C1,C2);   (*<-- Message d'erreur ici*)
end.

Les arguments C1 et C2 ne sont pas acceptables pour SwapBytes, bien qu'ils aient la représentation mémoire exacte et l'intervalle qu'a Byte.



program Solve;

procedure SwapBytes(var B1, B2: Byte);
var
  Temp: Byte;
begin
  Temp := B1; B1 := B2; B2 := Temp;
end;

var
  C1, C2: Byte;
begin
  SwapBytes(C1,C2);   (*<-- Aucun message d'erreur ici*)
end.

Vous avez ainsi à déclarer C1 et C2 comme Bytes pour que cet exemple se compile.