E2033 Les types des paramètres VAR originaux et formels doivent être identiques (Delphi)
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.