Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Ao Gerar Relatorio No Quickreport


Eder

Pergunta

Olá...pessoal...montei um relatorio no delphi....e quando fui testa-lo com um relatorio mais grande....no meio da geração deu o seguinte erro:

erro: edbengineerror 9495 lock file has grown too large

então procurando na net achei esta dica do RamosDelphi que diz que o problema é com o BDE/netdir.

Questão/Problema:

Mensagem de erro no Paradox “LOCK FILE HAS GROWN TOO LARGE”. Confira como corrigir:

Resposta:

Este erro é específico de tabelas Paradox e pode ser causado em qualquer BDE (16 ou 32 Bits)

Para resolver o problema, tenha certeza que sua aplicação está da seguinte forma:

Abaixo do diretório onde está o executável, crie três novos diretórios: TABLES, PRIV, e REDE. Coloque todas as tabelas para a aplicação no diretório de TABLES. Altere o diretório privado da sessão para o diretório de PRIV. Faça o seguinte no seu programa em Delphi

DELPHI:

Session.PrivateDir :=

ExtractFilePath(ParamStr(0)) + ‘ PRIV’;

Altere o diretório de rede da sessão para o diretório Rede. Faça o seguinte:

DELPHI:

Session.NetFileDir :=

ExtractFilePath(ParamStr(0)) + ‘ REDE’;

Se o LOCAL SHARE for igual a True e você não está compartilhando as tabelas ao mesmo tempo entre aplicações diferentes, mude o LOCAL SHARE para False. Estes passos resolverão o problema.

Então crie as duas pastas Priv e Red dentro da pasta do programa

então eu coloquei o codido abaixo na inicialização do meu programa

Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';

Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'REDE';

Codigo da inicialização: em vermelho

{$R *.RES}

begin

  Application.Initialize;

  //AQUI

  Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';

  Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'REDE';

  Splash:=tsplash.create(application);

  Splash.show;                                // mostra o form na tela...

  Splash.refresh;                              //aqui é opcional , depende do caso... como eu tenho uma barra de                                                      progresso , para que ela não fique oscilando dou este comando

  Sleep(1500);                                // o tempo que o form vai aparecer (esta em milesegundos)...

  Application.ShowMainForm:= false;  //retira o splash de exibiçao e cria os outros forms na memoria e bota a aplicação para rodar

{daqui para baixo deve aparecer os demais formularios como mostra abaixo}

  Application.CreateForm(TFormPrincipal, FormPrincipal);

  Application.CreateForm(TFormSenha, FormSenha);

  Application.CreateForm(TForm3, Form3);

  Application.CreateForm(TForm2, Form2);

  Application.CreateForm(Tsplash, splash);

Só que quando compilo o programa da a seguinte mensagem de erro:

DIRECTORY IS CONTROLED BY OTHER *.NET FILE.

analisando este erro cheguei a conclusão que o programa ta criando 2(dois arquivos) *.NET , um pelo codigo que eu coloquei na inicilização do programa e outro pelo BDE na configurado o NETDIR....e também ta duplicando o nr de *.lck

então resumindo ....ta dando um conflito...

Então eu gostaria que alguém me desse uma luz de como resolver este problema.....pela dica que achei na net não mencionava este fato.

Fico no aguardo......amigão...t+ unsure.gif

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

ok..resolvido...tinha um erro interno no programa...tinha no caso algumas table´s attive=true ..ai coloquei false....e apaguei também os .net e .lck ai resolveu o problema.......

e

adicionei na inicialização do programa o codigo:

Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';
Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'REDE';

{$R *.RES}

begin

Application.Initialize;

//AQUI

Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';

Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'REDE';

Splash:=tsplash.create(application);

Splash.show; // mostra o form na tela...

Splash.refresh; //aqui é opcional , depende do caso... como eu tenho uma barra de progresso , para que ela não fique oscilando dou este comando

Sleep(1500); // o tempo que o form vai aparecer (esta em milesegundos)...

Application.ShowMainForm:= false; //retira o splash de exibiçao e cria os outros forms na memoria e bota a aplicação para rodar

{daqui para baixo deve aparecer os demais formularios como mostra abaixo}

Application.CreateForm(TFormPrincipal, FormPrincipal);

Application.CreateForm(TFormSenha, FormSenha);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(Tsplash, splash);

t+valeu a todos que tentaram ajudar... :clap:

Link para o comentário
Compartilhar em outros sites

  • 0

ok..resolvido...tinha um erro interno no programa...tinha no caso algumas table´s attive=true ..ai coloquei false....e apaguei também os .net e .lck ai resolveu o problema.......

e

adicionei na inicialização do programa o codigo:

Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';
Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'REDE';

{$R *.RES}

begin

Application.Initialize;

//AQUI

Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';

Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'REDE';

Splash:=tsplash.create(application);

Splash.show; // mostra o form na tela...

Splash.refresh; //aqui é opcional , depende do caso... como eu tenho uma barra de progresso , para que ela não fique oscilando dou este comando

Sleep(1500); // o tempo que o form vai aparecer (esta em milesegundos)...

Application.ShowMainForm:= false; //retira o splash de exibiçao e cria os outros forms na memoria e bota a aplicação para rodar

{daqui para baixo deve aparecer os demais formularios como mostra abaixo}

Application.CreateForm(TFormPrincipal, FormPrincipal);

Application.CreateForm(TFormSenha, FormSenha);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(Tsplash, splash);

t+valeu a todos que tentaram ajudar... :clap:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...