Salut à tous, je doit dire que je suis tombé sur une erreur qui me laisse perplexe: voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function tfrmMain.arrayToPointer(value:string;zone:boolean):Pointer;
var i,i2 : integer;
begin
if zone then
	for i:=0 to length(fieldswG) - 1 do
          if(UpperCase(fieldswG[i])=UpperCase(value)) then
          begin
            result:=@fieldswg[i];
            exit;
          end
else
	for i:=0 to length(fieldsw) - 1 do
          if(UpperCase(fieldsw[i])=UpperCase(value)) then
          begin
            result:=@fieldsw[i];
            exit;
          end;
end;
Quand je compile j'obtiens ceci:
[Pascal Erreur] Unit1.pas(840): E2081 Affectation à la variable de boucle FOR 'i'

Alors que:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
function tfrmMain.arrayToPointer(value:string;zone:boolean):Pointer;
var i,i2 : integer;
begin
if zone then
	for i:=0 to length(fieldswG) - 1 do
          if(UpperCase(fieldswG[i])=UpperCase(value)) then
          begin
            result:=@fieldswg[i];
            exit;
          end
else
	for i2:=0 to length(fieldsw) - 1 do
          if(UpperCase(fieldsw[i2])=UpperCase(value)) then
          begin
            result:=@fieldsw[i2];
            exit;
          end;
end;
fonctionne...
fieldsw et fieldswG sont des 'array of string' globaux...