Fórum (...)W1037 FOR-Loop variable ´i´ may be undefined after loop #374949
15/09/2009
0
O meu segundo FOR deve começar de onde o primeiro FOR parou.
Conforme abaixo:
-Primeiro FOR
while iIniMesclaPremio = 0 do begin for i := 0 to pCds.Fields.Count - 1 do begin if (verdadeiro) then begin iIniMesclaPremio := 1; Break; end; end; end;
-Segundo FOR
for i := i to pCds.Fields.Count - 1 do begin if (verdadeiro) then begin iFinMesclaPremio := iFinMesclaPremio + 1; end; end;
Quando eu compilo o módulo está dando o seguinte warning:
´[Pascal Warning] us993gpl.pas(195): W1037 FOR-Loop variable ´i´ may be undefined after loop´
Provavelmente é pq no segundo FOR eu to recebendo ´i := i´, porem, como disse no início do post: PRECISO começar o segundo for onde parou o primeiro.
E NÃO posso deixar esse hint de warning devido a empresa que trabalho possuir inspetor de código e futuramente vou ser pego no teste da unit.
Então quem puder me ajudar a eliminar esse warning, já agradeço!
Obrigado!
Rafa.spimenta
Curtir tópico
+ 0Posts
15/09/2009
.lg.
Mude a variavel usada no segundo for que deve funcionar.
for i := j to pCds.Fields.Count - 1 do
Caso não funcionar posteae que ajudamos.
Gostei + 0
15/09/2009
Rafa.spimenta
-Primeiro FOR
iContador := 0; //acrescentei while iIniMesclaPremio = 0 do begin for i := 0 to pCds.Fields.Count - 1 do begin if (verdadeiro) then begin iIniMesclaPremio := 1; Break; end; iContador := i; //acrescentei end; end;
-Segundo FOR
for i := iContador to pCds.Fields.Count - 1 do begin if (verdadeiro) then begin iFinMesclaPremio := iFinMesclaPremio + 1; end; end;
Não sei porque, mas quado coloquei o ´iContador´ recebendo ´i´ no primeiro for, o warning desapareceu.
Vai ficar a dúvido do pq desta forma não dar warning...
Vlw Amigo!
Gostei + 0
15/09/2009
.lg.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)