Bonjour à tous.
Je pense quitter Windows en avril 2014 (fin du support de XP) etcomme j'ai beaucoup de programmes écrits en Delphi 6 je viens de commencer une approche de Lazarus.
Sympa, on ne perd pas tous ses repères.

Mais ......

Le résultat d'un petit test me fait craindre pour la compatibilité entre les versions Delphi6 et Lazarus (tests effectués sous Windows XP).

J'ai extrait de mon source un petit test :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button2Click(Sender: TObject);
var
  i, j : integer;
begin
  j := 0;
  for i := 1 to 4 do begin
    inc(j);    // j n'est là que pour remplir la boucle
  end;
  showmessage('valeur de i : ' + InttoStr(i));
end;
Oh surprise, en tout cas pour moi car les résultats du showmessage ne sont pas les mêmes.

Bien entendu la procédure ci-dessus n'a été écrite que pour mettre en évidence le phénomène, dans la réalité, il s'agit de parser un buffer qui contient des chaînes de caractères de taille fixe '(padés' par des 0 binaires) et des valeur sur 1, 2, ou 4 octets.

Qui pourrait m'expliquer pourquoi cette divergence de comportement?

Merci