O que é mais engraçado, é que essa classe faz uma consulta em um mdb e grava um arquivo txt. Quando eu mudo para um outro mdb, a classe funciona normalmente.
Esse erro tem alguma relação com os dados que estão sendo utilizados desse bd?
BrunoBastosPJ
essa linha de código vai dar erro se o array for unidimencional… mas se for um array bidimencional ela vai funcionar.
mas eu achei o erro, fui no debug linha por linha e achei o problema.
nessa linha:
intlimites[][]=newint[500][];
substitui o 500 por 1000 e foi normalmente.
Valeu pela força Senhores !
B
BrunoCarloPJ
“FabianoPatricio”:
Certo,
mas eu achei o erro, fui no debug linha por linha e achei o problema.
nessa linha:
intlimites[][]=newint[500][];
substitui o 500 por 1000 e foi normalmente.
Valeu pela força Senhores !
Não é este o problema, o problema é que quando vc instancia um array de 500 posições, o ultimo que vc pode acessar é o de index 499, porque a contagem começa em 0.
D
diogoaclPJ
“FabianoPatricio”:
Certo,
mas eu achei o erro, fui no debug linha por linha e achei o problema.
nessa linha:
intlimites[][]=newint[500][];
substitui o 500 por 1000 e foi normalmente.
Valeu pela força Senhores !
essa não é a melhor solução para o seu problema, a não ser que você garanta que nunca irá tentar acessar a posição 1000, conforme o colega bruno já mencionou. Pois ao tentar acessa-la você terá problemas como o que está ocorrendo atualmente. E isso parece ser fácil de ser reproduzido com o tempo, visto que você busca os dados para este array em um mdb.
Seria interessante você criar este array com um tamanho dinamico e certificar-se que não irá acessar a posição, do numero informado.
São duas coisas distintas, o tamanho do array e o index de um array.
F
FabianoPatricioPJ
Colega,
Conforme a regra do negocio aqui da empresa, na verdade não poderia ultrapassar 500 posições, com o valor de 1000 eu já estou furando a regra de negocio, mas eu já consegui resolver e voltar as 500 posições.
O problema estava no tamanho do banco de dados que estava rodando.