TBROWSE/0: Limit exceeded - Alguma sugestão?
Moderador: Moderadores
TBROWSE/0: Limit exceeded - Alguma sugestão?
Prezados, recorro novamente a este competente forum, no intuito de descobrir a possível causa de uma mensagem de erro TBROWSE/0: Limit exceeded, que ocorre às vezes na tentativa de abrir um arquivo DBF com o Tbrowse. No caso, isto ocorre com registros com larguras tipicamente maiores que 1 kB, podendo o tamanho limite variar conforme a máquina. A funcao Dbedit() manipula os mesmos arquivos sem problemas.
Estou utilizando o Clipper 5.2e com Rtlink e máquinas com Win XP e Vista. Será que alguém já se deparou com o problema e/ou tem albuma pista quanto a encontrar uma possível solução?
Estou utilizando o Clipper 5.2e com Rtlink e máquinas com Win XP e Vista. Será que alguém já se deparou com o problema e/ou tem albuma pista quanto a encontrar uma possível solução?
Jan Lund
Sandata Ltda.
Santos, SP
Sandata Ltda.
Santos, SP
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
TBROWSE/0: Limit exceeded - Alguma sugestão?
Oi Jan,
Só não entendí quando você menciona: "com registros com larguras tipicamente maiores que 1 kB" você quis dizer campos em lugar de registros ? Seria o tamanho de tamanho exagerado ? Poderia listar a estrutura do seu BD, de ser possível disponibilizar um ou dois registros exemplos e seria também legal ver seu código fonte, talvez possua algum erro e daí não tem como saber.
Só não entendí quando você menciona: "com registros com larguras tipicamente maiores que 1 kB" você quis dizer campos em lugar de registros ? Seria o tamanho de tamanho exagerado ? Poderia listar a estrutura do seu BD, de ser possível disponibilizar um ou dois registros exemplos e seria também legal ver seu código fonte, talvez possua algum erro e daí não tem como saber.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Olá! Em um dos casos, por exemplo, trata-se de um arquivo com 69 campos de tipos e tamanhos variados, totalizando 1160 bytes. Em outro caso (o problema ocorre em outra máquina), é um arquivo com 53 campos totalizando 2192 bytes. Antes de acrescentar os últimos campos, não havia problema nenhum. Não há, em nenhum deles, campos do tipo MEMO.
Jan Lund
Sandata Ltda.
Santos, SP
Sandata Ltda.
Santos, SP
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Ólá!
Imagino que isso seja um problema de falta de memória. Tenho quase certeza de que link-editando com Blinker vai resolver o problema.
Leia o artigo CA-CLIPPER 5.x Memory Management. Precioso...
Imagino que isso seja um problema de falta de memória. Tenho quase certeza de que link-editando com Blinker vai resolver o problema.
Leia o artigo CA-CLIPPER 5.x Memory Management. Precioso...
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
É como disse o colega acima, o Blinker as vez resolve problemas básicos. O uso do Blinker é indispensável com Clipper.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Uma dica ao colega: quando ocorrer erros pontuais e estranhos desse tipo, crie um sistema minimalista, a fim de isolar o ponto onde o erro ocorre. Remova todos os PRGs, incluindo apenas aquele onde o erro ocorre. Isso, claro, depois de refazer o que puder ser refeito: índices e se for o caso, recriando a estrutura dos bancos de dados envolvidos e importando os dados do DBF em suspeição. Erros em estruturas de DBFs pode ocasioar erros bem estranhos. Se depois desse artifício o erro não ocorrer, vá reinserindo os demais PRGs no projeto, até ele voltar a ser o que era.
O uso do BLinker é sempre o mais sugerido para o uso com o Clipper. Por questão de segurança e conforto. Mas ele não faz milagres. Pode resolver o problema? Pode ser que sim, pode ser que não. É pura especulação. Erros estranhos sempre nos levam à pratica da tentativa e erro. Como não custa tentar,... Tente o que julgar que seja mais fácil e rápido.
O uso do BLinker é sempre o mais sugerido para o uso com o Clipper. Por questão de segurança e conforto. Mas ele não faz milagres. Pode resolver o problema? Pode ser que sim, pode ser que não. É pura especulação. Erros estranhos sempre nos levam à pratica da tentativa e erro. Como não custa tentar,... Tente o que julgar que seja mais fácil e rápido.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Esclarecendo um pouco mais a questão, trata-se de um programa realmente pequeno, na verdade é só um substituto do DBU.EXE para manipular e preparar / alterar os arquivos de dados. No caso não se trata de arquivos corrompidos, visto que os mesmos operam normalmente nos sistemas a que pertencem. O problema só se manifesta na função Tbrowse.
Fiz alguns testes com o Blinker, com resultados um pouco melhores, com memória livre um tanto maior (memory()). Por exemplo, no Win XP e Rtlink abro normalmene um arquivo com 53 campos e largura de registro de 2192 B. Já outro com 32 campos e largura de 2464 B não abre, apresentando o erro. Com o Blinker o de 32 campos com 2464 B abre e outro de 41 campos com 2745 B apresenta o erro. No Vista os resultados são semelhantes, mas com limites menores: 57 campos com 967 B abre, 69 campos com 1160 não abre, isto com o Blinker.
Fiz alguns testes com o Blinker, com resultados um pouco melhores, com memória livre um tanto maior (memory()). Por exemplo, no Win XP e Rtlink abro normalmene um arquivo com 53 campos e largura de registro de 2192 B. Já outro com 32 campos e largura de 2464 B não abre, apresentando o erro. Com o Blinker o de 32 campos com 2464 B abre e outro de 41 campos com 2745 B apresenta o erro. No Vista os resultados são semelhantes, mas com limites menores: 57 campos com 967 B abre, 69 campos com 1160 não abre, isto com o Blinker.
Jan Lund
Sandata Ltda.
Santos, SP
Sandata Ltda.
Santos, SP
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
se é um utilitario pequeno Por que não compila logo com Harbour isso !
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Pode parecer muito estranho, mas já vi caso de DBF corrompido de forma tão sutil que funcionava perfeitamente em um sistema e em outro, semelhante, apresentava erro. Por isso sugeri recriar o DBF. Agora, índice pode sempre ser refeito a qualquer tempo. Se é que já não recriou.No caso não se trata de arquivos corrompidos, visto que os mesmos operam normalmente nos sistemas a que pertencem.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Olá! Tentarei resumir: Com o Blinker, "brincando" com as opções, passei de cerca de 160 kB para 265 kB de memória livre [memory(0)]. Não fez diferença quanto ao limite de ocorrência do erro. Quanto a um erro de corrupção, os mesmos arquivos abrem numa máquina (XP) e não em outra (Vista), além de funcioanr sem problemas no sistema prórprio. Na ferramenta citada o arquivo é aberto inicialmente sem INDEX, assim esta influência está a meu ver descartada. E, não se trata de um único arquivo.
Quanto ao Harbour, é claro que já me ocorreu, Mas, o problema é que há muitas funções principalmente do Clipper Tools que não possuem contrapartida no Harbour (ou no xHarbour). Estas necessitariam de um profundo retrabalho, visto que utilizo uma rede bastante complexa de funções de biblioteca construída ao longo dos últimos vinte anos.
Quanto ao Harbour, é claro que já me ocorreu, Mas, o problema é que há muitas funções principalmente do Clipper Tools que não possuem contrapartida no Harbour (ou no xHarbour). Estas necessitariam de um profundo retrabalho, visto que utilizo uma rede bastante complexa de funções de biblioteca construída ao longo dos últimos vinte anos.
Jan Lund
Sandata Ltda.
Santos, SP
Sandata Ltda.
Santos, SP
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
A pouco tempo atrás, passei pelo mesmo problema. Meu sistema funcionava normalmente, fiz algumas implementações e do nada começou a dar este erro, porem, nao uso TBROWSE e sim o DBEDIT.
O erro acontecia quando chamava um DBEDIT dentro do outro, até achei que era problema de limite de pilha, memoria etc, mais já usava o BLINKER em modo PROTEGIDO.
Depois de muito, muito mesmo vasculhar acabei descobrindo o que ocasionava o erro, e não tinha nada, mais nada teoricamente ligada ao DBEDIT.
Usava neste mesmo sistema o WAPI.LIB do nosso colega MALIGNO nunca havia dado problema algum. Para contornar o problema visto que necessito da WAPI parei de usar a LIB e chamei o EXE direto, O PROBLEMA ACABOU.
Alem das alterações que tinha feito no sistema (nada de anormal), cito que houve uma queda de energia no micro onde programo e suspeito que tenha sido gravado algo estranho nos fontes que o compilador nao detecta. Isso ja tinha acontecido antes, dentro de um PRG achei uma linha contendo:
O estranho é compilava normalmente sem acusar erro algum, achei isso meio por acaso.
Resumindo, onde parece ser o erro, pode não ter nada haver. Sei que é dificil criar um sistema somente com a parte do erro para testar, pois há as depedencias (funcoes, variaveis e etc) que não ajudam muito então vasculhe tudo.
Desejo-lhe sorte!
Abraços
O erro acontecia quando chamava um DBEDIT dentro do outro, até achei que era problema de limite de pilha, memoria etc, mais já usava o BLINKER em modo PROTEGIDO.
Depois de muito, muito mesmo vasculhar acabei descobrindo o que ocasionava o erro, e não tinha nada, mais nada teoricamente ligada ao DBEDIT.
Usava neste mesmo sistema o WAPI.LIB do nosso colega MALIGNO nunca havia dado problema algum. Para contornar o problema visto que necessito da WAPI parei de usar a LIB e chamei o EXE direto, O PROBLEMA ACABOU.
Alem das alterações que tinha feito no sistema (nada de anormal), cito que houve uma queda de energia no micro onde programo e suspeito que tenha sido gravado algo estranho nos fontes que o compilador nao detecta. Isso ja tinha acontecido antes, dentro de um PRG achei uma linha contendo:
Código: Selecionar todos
endif DDDDDDDD
Resumindo, onde parece ser o erro, pode não ter nada haver. Sei que é dificil criar um sistema somente com a parte do erro para testar, pois há as depedencias (funcoes, variaveis e etc) que não ajudam muito então vasculhe tudo.
Desejo-lhe sorte!
Abraços
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Re: TBROWSE/0: Limit exceeded - Alguma sugestão?
Agradeço o esforço de quem se dispôs a contribuir com a solução da questão abordada. Assim que tiver um "tempinho" sobrando, tentarei aprofundar mais o exame do problema, por minha conta com base nas idéias acima publicadas.
Jan Lund
Sandata Ltda.
Santos, SP
Sandata Ltda.
Santos, SP


