Bug de campo 'x' + lookup

o bug é simples de se contornar, mas devido à dificuldade de encontrar o erro e ao gigantesco transtorno que isso gera ao desenvolvedor a cada vez que o grid que o contem é executado, acho importante de ser reportado.

Acontece quando se tem um campo com o nome ‘x’ em um grid que utiliza a macro ‘sc_lookup’.

A macro substitui a linha de comando no código gerado por 25 linhas onde trata a execução e recuperação dos dados da consulta.

Acontece que o scriptcase usa normalmente uma variável ‘$x’ para o FOR que passa os resultados pra variável de parâmetro.

for ($x = 0; $x < $nm_count; $x++)

Porem quando existe um campo com nome x, ele modifica essa linha para usar ‘$this->x’, mas alguém esqueceu de alterar o ultimo parametro do FOR.

for ($this->x = 0; $this->x < $nm_count; $x++)

Com isso o aplicativo entra em loop infinito e trava não só a execução como também a licença/login que te obrigam a no mínimo deletar o histórico recente pra conseguir logar novamente. Quando loga, é sem deslogar sua sessão anterior gerando múltiplo uso de licença por parte do usuário afetado.

Boa noite,

Reportei este problema para nossa equipe de bugs.

att,
Bernhard Bernsmann

eu costumo criar variáveis locais sempre usando:

$_NomeDaVariavel

para evitar qualquer conflito com o gerador de código.