Fórum Meu sistema esta assombrado!!! #375039
17/09/2009
0
Varios relatorios, quando estão sendo gerados...derrepende as telas do form ficam esbranquiçadas...mas continua e conclui o relatorio. Aspecto feio.
Outra coisa esquisita é que em alguns relatorios, o temporizador do windows(ampulheta) fica girando e piscando. Não mostro nada na tela, nem contador, nem barrinha de andamento da leitura...nada.
Aquelas mensagens(showmessage) de ´fim de relatorio´...estão ficando escondida...em segundo plano....não da pra saber se o relatorio terminou ou não...só dando um ´alt tab´ para visualiza-la.
Alguem sabe o por que disso?
Fausto.malheiros
Curtir tópico
+ 0Posts
18/09/2009
Fausto.malheiros
Gostei + 0
18/09/2009
Weber
Gostei + 0
18/09/2009
Weber
Gostei + 0
18/09/2009
Afarias
|observando as seguintes assombrações:
está terminando um sistema agora com um software (IB 6.0) de 10 anos atrás?
|Varios relatorios, quando estão sendo gerados...derrepende as telas do
|form ficam esbranquiçadas...mas continua e conclui o relatorio.
Provavelmente pq vc está fazendo algum processo ou abrindo alguma consulta grande no evento OnShow -- mude isso!
Em loops demorados, procure usar Application.ProcessMessages;
|Outra coisa esquisita é que em alguns relatorios, o temporizador do
|windows(ampulheta) fica girando e piscando. Não mostro nada na tela,
|nem contador, nem barrinha de andamento da leitura...nada.
Está usando BDE???? Pode ser tb o gerador de relatórios q está usando.
|Aquelas mensagens(showmessage) de ´fim de relatorio´...estão ficando
|escondida...em segundo plano....não da pra saber se o relatorio terminou
|ou não...só dando um ´alt tab´ para visualiza-la.
Vc tem q mudar algumas coisas na sua abordagem de programação, geralmente basta mostrar o relatório sem qualquer mensagem
|Na tentativa de corrigir esses problemas tentei instalar o firibird
|2.1.3....
Seu problema NÃO é o banco de dados. Entretanto, é bom q use o FB 2.1
|não sai do lugar...nem consegui instalar....deu a maior zebra...
Estranho pq para instalar o FB no Windows basta executar o instalador e sair clicando NEXT (próximo) no assistente.
|Mas os assombros acima continuam do mesmo jeito
Mude seu programa, e se ainda continuar os assombros, call the Gostbusters ;-)
T+
Gostei + 0
19/09/2009
Fausto.malheiros
Sim...Interbase de 10 anos atraz! Trabalho com prefeituras e meus outros softwers são pesados, IPTU, DIVIDA, ISS, etc....Fiz esse tbem em interbase para manter a homogenidade....Mas tenho que migrar agora.
[b:a619163d50]Problemas com as telas esbranquiçadas:[/b:a619163d50] Em um dos relatorio, especifico para calculo, eu nem uso o evento onshow. Ele le apenas UMA tabela e sai varrendo ela e executando um calculo entre os proprios campo da tabela...mas chega uma hora que a tela fica esbranquiçada....Sei lá. Pesquisei nos meus sistema e não tem o comando Application.ProcessMessages em nenhum programa....como funciona essa instrução? em que momento eu o uso....esse programa de calculo só tem 1 loop.
[b:a619163d50]Temporizador(ampulheta) piscando..aspecto feio:[/b:a619163d50]...Eu uso o DBExpress e report builder...mas em alguns rogramas que acontence esse fenomeno...não são de relatorios, são de calculo demorados.
Mas acontence que o ´proprio´ relatorio fica escondido em segundo plano...o usuario fica esperando mostrar o relatorio e o relatorio ja esta pronto...é só dar ´alt tab´ que ele é mostrado.
Quanto a mudança para o firebird...tem gente que fala que tem que excluir o interbase para instalar o firebird???...Como que é isso? tenho que migrar os sistemas ´ao poucos´...num da pra migrar tudo de um vez.
Ou posso instalar o firebird e deixar o interbase para rodar os outros sistemas que estão plenos e ativos?
Gostei + 0
19/09/2009
Afarias
|para calculo, eu nem uso o evento onshow. Ele le apenas UMA tabela e
|sai varrendo ela e executando um calculo entre os proprios campo da
|tabela...mas chega uma hora que a tela fica esbranquiçada....Sei lá.
coloque Application.ProcessMessages dentro do loop
|Pesquisei nos meus sistema e não tem o comando
|Application.ProcessMessages em nenhum programa....como funciona
|essa instrução?
Dentro de um loop dá a chance da aplicação executar outras tarefas (desenho da gui por exemplo)
|Mas acontence que o ´proprio´ relatorio fica escondido em segundo
|plano...o usuario fica esperando mostrar o relatorio e o relatorio ja esta
|pronto...é só dar ´alt tab´ que ele é mostrado.
O preview é MODAL?
|Quanto a mudança para o firebird...tem gente que fala que tem que
|excluir o interbase para instalar o firebird???...
NÃO
|Ou posso instalar o firebird e deixar o interbase para rodar os outros
|sistemas que estão plenos e ativos?
SIM, com bases de dados diferentes claro
T+
Gostei + 0
19/09/2009
Fausto.malheiros
Configuro o report builder da seguinte forma:
ModalPreview = true;
RptRelatorioPagas.DeviceType := ´Screen´;
e chamo da seguinte forma:
RptRelatorioAbertas.Print
Mas dede ja te agradelo AFarias....ta me dando uma mãozona!!!
Bração
Gostei + 0
20/09/2009
Afarias
1) O preview do relatório é o padrão ou um que vc fez?
2) O preview aparece maximizado?
3) Não sei se tem algo a ver mais.. sua aplicação é MDI?
Pode estar relacionado tb a como vc está chamando o relatório... mas ai precisaria ter mais informações sobre isso.
T+
Gostei + 0
20/09/2009
Fausto.malheiros
Os componentes de relatorio, eu só coloco no form e linko os datasets, mais nada, com exceção do comando abaixo para mostra-los maximizados e ajustados em tela cheia.
Evento=PreviewFormCreate
Meu aplicativo não é MDI.
Mas nesse exato momento....estou na seguinte posição. Parado!!!! Não estou conseguindo acessar meu banco de dados nem com o Interbase e nem com o Firebird.
Quando tento com o FB, eu o starto e da um erro de password.
Quanto tento com IB, eu o starto, e da erro de Exception EDataBaseError.
AFarias! No meu cliente vc ja me deu a dica de como fazer, mas em tempo de desenvolvimento, eu posso ter os dois instalados na maquina? IB 6 e o FB 2.1.5.
Gostei + 0
20/09/2009
Fausto.malheiros
Gostei + 0
20/09/2009
Afarias
|mais nada, com exceção do comando abaixo para mostra-los
|maximizados e ajustados em tela cheia.
|RptRelatorio.PreviewForm.WindowState := wsMaximized;
|TppViewer(RptRelatorio.PreviewForm.Viewer).ZoomSetting :=
|zsPageWidth;
Ok, nunca usei esse evento nem esses códigos.
Atualmente uso o RB 7 e apenas configuro as propriedades em PreviewFormSettings. Na versão anterior (q não tinha estas propriedades) o que eu fazia era editar o DFM do preview padrão.
|Mas nesse exato momento....estou na seguinte posição. Parado!!!! Não
|estou conseguindo acessar meu banco de dados nem com o Interbase e
|nem com o Firebird.
Vc disse q está começando... normal.. vá estudando. Pegue exemplos.
Se vc ainda não entende como eles funcionam, sugiro q se livre totalmente de 1 deles. Os 2 juntos podem causar problemas quando não se sabe o que está fazendo. Quando estiver dominando mais ai vc parte para o outro.
|Quando tento com o FB, eu o starto e da um erro de password.
|Quanto tento com IB, eu o starto, e da erro de Exception
|EDataBaseError.
Sem saber os erros exatos não dá pra ajudar aqui.
|No meu cliente vc ja me deu a dica de como fazer, mas em tempo de
|desenvolvimento, eu posso ter os dois instalados na maquina? IB 6 e o
|FB 2.1.5.
Se vc programa abrindo as coisas em tempo de projeto -- q é uma abordagem equivocada mas muito usada por iniciantes -- pode ter problema pois o Delphi só vai ver 1 cliente (a DLL q estiver no PATH/System ou na pasta bin do Delphi) q nem sempre será o mesmo cliente q estará com seu executável.
Isso pq se vc usa o driver para IB para ambos, o driver vai procurar os clientes com o mesmo nome (gds32.dll) -- se usar um driver específico para FB (que procure a fbclient.dll) dai ambos clientes podem estar no path sem problema.
Em tempo de projeto, fique atento tb as portas (3050, etc), não conecte LOCAL -- use sempre TCP (localhost:base) e certifique-se que usuário e senha estejam corretos.
|Outra coisa...estou lendo alguns artigos de um drive especifico para
|DBexpress e firebird chamado UIB....Vou precisar desse drive usando o
|firibird 2.1?
Para funções normais provavelmente não. Ainda assim acho q o driver UIB ou outro como InterXpress (pago) seria mais adequado. Entretanto eu nunca usei DBX assim sendo não sou a melhor pessoa pra responder estas suas questões.
|No conecction do DBExpress não aparece a opção de dirver firibird???
Não. Só a partir do novo Delphi2010 na versão Enterprise (eu particularmente não compraria Enterprise só por causa disso, sai mais barato continuar na Professional e comprar o driver InterXpress)
T+
Gostei + 0
22/09/2009
Fausto.malheiros
Gostei + 0
22/09/2009
Afarias
Programa ruim. Ao passo q vc vai aprimorando seus conhecimentos isso vai se resolvendo.
Verifique as consultas q está fazendo, o momento em q ocorrem, os índices, e por ai vai. Caso tenha alguma dúvida específica manda e vamos resolvendo 1 a 1
T+
Gostei + 0
22/09/2009
Fausto.malheiros
Eu estava com um [b:cdf9bb4813]´select * from movimento´[/b:cdf9bb4813] embutido na query...mas não estava aparecendo na propriedade SQL do componente.
Como achei isso? Cliquei com o botão direito do mouse no componente query e selecionei ´view as text´ e fui checando e la estava [b:cdf9bb4813]SQL = ´select * from movimento´[/b:cdf9bb4813]. Mas no object inspector o SQL esta limpo.
Obs: Eu faço isso só pra jogar os campos no Field do Cds...Eu alimento o SQL em tempo de execução.
Esse erro estava no programa! O que esta me causando estranheza é que o firebird esta demorando o triplo do tempo que o interbase demorava para executar esse comando.
[b:cdf9bb4813]´select * from movimento´[/b:cdf9bb4813]
Gostei + 0
22/09/2009
Afarias
Tb acho estranho
Na minha experiência, no passado distante quando mudei de IB6 para Fb 1.0 meus programas ficaram um pouquinho mais rápidos, depois quando mudei para Fb 1.5 melhorou ainda mais e quando, ano passado, mudei para Fb 2.1 ficou uma BALA (sem mudar o programa e mesmo programas q usam IBX)
Pode ter a ver com o driver/componente de conexão q está usando, consultas específicas com IN, índices (bom, não neste caso q não tem WHERE e não precisa de índice), entre outras coisas.
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)