Bizarre ? Non. Un peu dommage ? Probablement.
Le problème vient du fait que Delphi n'optimise sur une aussi longue portée qu'on le voudrait parfois.
Dans le code suivant :
1 2 3 4 5 6
|
var
s: string;
begin
s := 'Test';
end; |
La ligne
s := 'Test'; n'est pas compilée par Delphi. Toutefois, si tu fais :
1 2 3 4 5 6 7
|
var
s1, s2: string;
begin
s1 := 'Test';
s2 := s1;
end; |
La ligne
s := 'Test'; va être compilée. Delphi ne va pas plus loin que la première ligne quand vient le temps d'optimiser.
C'est probablement ce qu'il se passe avec ton cas #2 de tests booléens.
[EDIT] Bon... Quand ça va bien.... Je viens de tester mon code et ça compile tout partout... Pourtant j'aurais juré.... Veuillez ignorer ce post alors....
Partager