Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

1/2 Off - Form com RLReport Demorando para Carregar


Go to solution Solved by Valdir Dill,
  • Este tópico foi criado há 589 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia,

Sei que este canal não é bem para dúvidas sobre o Fortes Report. Mas, como já tentei , mas como já tentei tudo que podia e o Acbr tem muito a ver com o FR, talvez alguem possa me dar alguma dica para o problema q estou enfrentando.

É assim: qualquer aplicação onde tenho um componente RLReport, ao tentar carregar o form que abriga esse RLReport, ocorre uma demora exagerada. Chega a dar 10 segundos...
Isso ocorre tanto no projeto (ao executar um shift+F12), como depois, na aplicação em runtime.

Só ocorre na primeira chamada de um form naquele computador após ele ter sido reiniciado.
Se eu tiver duas aplicações, naquela que acionar primeiro um form que abrigue um RLReport, vai ocorrer a demora. Dali em diante, seja na mesma aplicação, seja em outra aplicação, o problema não ocorre mais até que se reinicie o micro de novo.

Fiz um debug e ocorre exatamente no form.create. Se eu tirar o componente rlreport do form, o problema não acontece, ou seja, ao que parece, o Delphi precisa construir algo ao carregar a primeira vez  o form com um rlreport naquela máquina.

Delphi 10.3.3. 

Fortes Report CE atualizado.

Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Consultores
1 hora atrás, valdirdill disse:

Bom dia,

Sei que este canal não é bem para dúvidas sobre o Fortes Report. Mas, como já tentei , mas como já tentei tudo que podia e o Acbr tem muito a ver com o FR, talvez alguem possa me dar alguma dica para o problema q estou enfrentando.

É assim: qualquer aplicação onde tenho um componente RLReport, ao tentar carregar o form que abriga esse RLReport, ocorre uma demora exagerada. Chega a dar 10 segundos...
Isso ocorre tanto no projeto (ao executar um shift+F12), como depois, na aplicação em runtime.

Só ocorre na primeira chamada de um form naquele computador após ele ter sido reiniciado.
Se eu tiver duas aplicações, naquela que acionar primeiro um form que abrigue um RLReport, vai ocorrer a demora. Dali em diante, seja na mesma aplicação, seja em outra aplicação, o problema não ocorre mais até que se reinicie o micro de novo.

Fiz um debug e ocorre exatamente no form.create. Se eu tirar o componente rlreport do form, o problema não acontece, ou seja, ao que parece, o Delphi precisa construir algo ao carregar a primeira vez  o form com um rlreport naquela máquina.

Delphi 10.3.3. 

Fortes Report CE atualizado.

Obrigado.

Bom dia Valdir.

O Fortes tem algum código de inicialização mesmo. Mas é difícil saber exatamente o que está causando a lentidão sem ter um código pra reproduzir.

Sugiro você tentar montar o código mais simples possível que reproduza o problema. Por exemplo, se criar uma nova aplicação, apenas com esse componente no form isso acontece?

Há a mesma lentidão se executar como administrador? Existe antivírus ou alguma aplicação de proteção bancária na máquina?

Depois teste a mesma aplicação em outra máquina. É bom que você verificar se não é alguma característica da máquina que está afetando a lentidão. Por exemplo, talvez existam muitas impressoras alistadas... (só um exemplo...).

Mas o mais assertivo, seria debugar o código do Fortes pra verificar onde a lentidão está.

 

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Membros Pro
29 minutos atrás, EMBarbosa disse:

Bom dia Valdir.

O Fortes tem algum código de inicialização mesmo. Mas é difícil saber exatamente o que está causando a lentidão sem ter um código pra reproduzir.

Sugiro você tentar montar o código mais simples possível que reproduza o problema. Por exemplo, se criar uma nova aplicação, apenas com esse componente no form isso acontece?

Há a mesma lentidão se executar como administrador? Existe antivírus ou alguma aplicação de proteção bancária na máquina?

Depois teste a mesma aplicação em outra máquina. É bom que você verificar se não é alguma característica da máquina que está afetando a lentidão. Por exemplo, talvez existam muitas impressoras alistadas... (só um exemplo...).

Mas o mais assertivo, seria debugar o código do Fortes pra verificar onde a lentidão está.

 

Bom dia @EMBarbosaobrigado pelas dicas.

Já tentei todas elas (executei como adm, desabilitei antivírus, defender, não tem programa de banco instalado, ...) Em relação a uma aplicação, fiz uma somente com a criação do componente em runtime, sem chamar form e dá o mesmo problema. No comando do TRLReport.create acontece a demora. Vide print anexo. 

Quando tento debugar, dá o erro anexo. Tem alguma sugestão para esse erro?

Obrigado.

FortesDebug.png

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Fundadores

Me parece ser a carga de alguma DLL...

Tente rodar o programa em uma V.M. "crua", para ver qual poderia ser (ele acusaria erro pela falta da DLL)

Agora, valdirdill disse:

Quando tento debugar, dá o erro anexo. Tem alguma sugestão para esse erro?

Basta informar para a IDE, nessa mesma janela, onde estão os fontes do FastReport...

  • Like 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • Membros Pro
1 hora atrás, Daniel Simoes disse:

Me parece ser a carga de alguma DLL...

Tente rodar o programa em uma V.M. "crua", para ver qual poderia ser (ele acusaria erro pela falta da DLL)

Basta informar para a IDE, nessa mesma janela, onde estão os fontes do FastReport...

 

Consegui debugar no FR.

Ao que parece tem mesmo a ver com a (as) impressora, conforme o @EMBarbosasuspeitou.

Debuguei e verifiquei que o problema ocorre na rotina dc := Printer.Handle da RLPrinters do Fortes. Essa rotina aciona a procedure TPrinter.SetState(Value: TPrinterState) da vcl.Printers (unit do Delphi).

Tenho apenas 5 impressoras instaladas no Windows. Em teste, a causa, não poderia ser pela quantidade.

Mas vou cavar mais para tentar ver se encontro a causa.

Obrigado.

  • Like 2

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Consultores

duvida o fortes foi atualizado? pois recente foi feito melhorias nele

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

  • Membros Pro
  • Solution
8 minutos atrás, Juliomar Marchetti disse:

duvida o fortes foi atualizado? pois recente foi feito melhorias nele

Sim, FR CE atualizadíssimo.

Boa tarde,

Acho que achei a causa do problema. Ao que tudo indica, é alguma coisa na minha impressora padrão (uma HP Laser 1022), alguma coisa no driver eu acho. 

O problema ocorre quando passa na rotina DC := CreateHandleFunc(PChar(Driver), PChar(Device), PChar(Port), FDevMode) da vcl.Printes.pas.

Excluí essa impressora do Windows e aí não ocorreu mais o problema.

Obrigado.

  • Like 1

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Consultores
2 horas atrás, valdirdill disse:

Ao que parece tem mesmo a ver com a (as) impressora, conforme o @EMBarbosasuspeitou.

Debuguei e verifiquei que o problema ocorre na rotina dc := Printer.Handle da RLPrinters do Fortes. Essa rotina aciona a procedure TPrinter.SetState(Value: TPrinterState) da vcl.Printers (unit do Delphi).

46 minutos atrás, valdirdill disse:

Acho que achei a causa do problema. Ao que tudo indica, é alguma coisa na minha impressora padrão (uma HP Laser 1022), alguma coisa no driver eu acho. 

O problema ocorre quando passa na rotina DC := CreateHandleFunc(PChar(Driver), PChar(Device), PChar(Port), FDevMode) da vcl.Printes.pas.

Excluí essa impressora do Windows e aí não ocorreu mais o problema.

Que legal que conseguiu Valdir. Vai ser isso mesmo.

É provável que o Windows esteja consultando o driver pra alguma coisa e ele está demorando pra responder...

Mas fiquei feliz que com um pouco de paciência você conseguiu descobrir onde o problema estava. A boa notícia é que provavelmente isso não vai afetar seu programa em outras máquinas, porque elas não devem ter essa impressora.

 

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Membros Pro
2 minutos atrás, EMBarbosa disse:

Que legal que conseguiu Valdir. Vai ser isso mesmo.

É provável que o Windows esteja consultando o driver pra alguma coisa e ele está demorando pra responder...

Mas fiquei feliz que com um pouco de paciência você conseguiu descobrir onde o problema estava. A boa notícia é que provavelmente isso não vai afetar seu programa em outras máquinas, porque elas não devem ter essa impressora.

 

Show de bola!

Obrigado a todos pelas dicas!

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Este tópico foi criado há 589 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.