PROGRAMA PARECENDO TRAVADO MAS NAO ESTA
Olá galera!
Boa tarde!
Vê quem pode me dar uma ajuda aÃ?
Segunte;
Minha aplicação tem que fazer importação de dados de outra aplicação mensalmente:
O processo de importação é realizado normalmente:
Mas acontece o seguinte: (e já vi muito isso em muitos programas do Ministério da Saúde que também usam o Firebird).
A importação é iniciada e de repente meu programa fica parecedo que travou, mas não trava não, na verdade está processando a importação.
Eu queria fazer com que não aconteça esse aparente travamento. Porque o usuário pode pensar que o programa travou de finalizar com CTRL+DEL. O que poderá corromper meu BD.
Alguém sabe como resolvo isso?
Boa tarde!
Vê quem pode me dar uma ajuda aÃ?
Segunte;
Minha aplicação tem que fazer importação de dados de outra aplicação mensalmente:
O processo de importação é realizado normalmente:
Mas acontece o seguinte: (e já vi muito isso em muitos programas do Ministério da Saúde que também usam o Firebird).
A importação é iniciada e de repente meu programa fica parecedo que travou, mas não trava não, na verdade está processando a importação.
Eu queria fazer com que não aconteça esse aparente travamento. Porque o usuário pode pensar que o programa travou de finalizar com CTRL+DEL. O que poderá corromper meu BD.
Alguém sabe como resolvo isso?
Minha dica seria colocar uma imagem gif, tipo a ampulheta do windows esta ficar visivel até o termino do carregamento, assim a pessoa, não vai pensar que travou.
Já tem ampulheta brother!
Mas vc sabe como é digitador né?
E Ã s vezes o programa perde [txt-color=#b40404]o Foco[/txt-color]
AÃ vão pensar que travou.
Isso também acontece em alguns programas do DATASUS.
Alguém sabe o que é isso?
Mas vc sabe como é digitador né?
E Ã s vezes o programa perde [txt-color=#b40404]o Foco[/txt-color]
AÃ vão pensar que travou.
Isso também acontece em alguns programas do DATASUS.
Alguém sabe o que é isso?
Coloca um ProgressBar (Barra de progresso). Para tanto, você precisa conhecer a quantidade de registros, fácil com o RecordCount.
Você também pode anexar uma label que vai informando o final de cada etapa. Ex: Etapa 01/08, 02/08... Isso é fácil se tiver um For... Next ou um Loop. Para mais detalhes, posta o código
Você também pode anexar uma label que vai informando o final de cada etapa. Ex: Etapa 01/08, 02/08... Isso é fácil se tiver um For... Next ou um Loop. Para mais detalhes, posta o código
Galera!
Tudo isso já tem!!
Tudo que foi proposto pelo MARCELO-TREZE e por ROBIU já tem na aplicação!
Começa o processo normalmente com a ampulheta e com o progressbar mostrando o progresso.
O problema é que a aplicação perde o foco e fica parecendo que travou.
Ela continua na barra de tarefas mas quando vc clica nela ela fica paerecendo que tá travada.
Mas não está travada não.
Daki a pouco conclui a operação.
Tudo isso já tem!!
Tudo que foi proposto pelo MARCELO-TREZE e por ROBIU já tem na aplicação!
Começa o processo normalmente com a ampulheta e com o progressbar mostrando o progresso.
O problema é que a aplicação perde o foco e fica parecendo que travou.
Ela continua na barra de tarefas mas quando vc clica nela ela fica paerecendo que tá travada.
Mas não está travada não.
Daki a pouco conclui a operação.
então tente criar um form que fica sempre ontop, fazendo estas tarefas, assim não corre este risco.
Num dá!
a aplicação usa MDI
a aplicação usa MDI
Citação:OLAFEKORKAN escreveu:
Galera!
Tudo isso já tem!!
Tudo que foi proposto pelo MARCELO-TREZE e por ROBIU já tem na aplicação!
Começa o processo normalmente com a ampulheta e com o progressbar mostrando o progresso.
O problema é que a aplicação perde o foco e fica parecendo que travou.
Ela continua na barra de tarefas mas quando vc clica nela ela fica paerecendo que tá travada.
Mas não está travada não.
Daki a pouco conclui a operação.
Leio suas palavras e interpreto assim : [Ô]Não aguento mais olhar para este código, alguém pode resolver o que está acontecendo por mim?[Ô]
Conversa mole que seu programa tem o que o 13 e Robiu sugeriram e não da certo, se não funciona é porque travou mesmo. Eles 100% das vezes sabem o que dizem.
Óbvio que se vc atualizar a progressbarr a cada loop vai demorar muito, nem é assim que se deve fazer mesmo, tem que ser exatamente como sugerido pelo Robiu : coloque a atualização aprox. a cada 500 registros.
Use o timeout dos objetos ADO ou um timer se quiser a sofsticação de um medidor de tempo para comprovar o que falo que ta travando em alguma situação.
Não existe milagre, para consertar isto faça testes de desempenho em vários trechos do código para delimitar áreas crÃticas no processo e pare de colocar a culpa no Firebird sem absolutamente apresentar algum fator tecnico pois ele já foi testado por milhares de usuários enquanto seu código creio que não tanto.
Reflita no que eu disse que vai se dar bem ... garanto.
Até hj toda vez que coloquei a culpa no VB, no BD, no Windows, na memória do computador ou na placa mãe o problema estava na realidade em mim (Fazem mais de 15 anos que estou sempre equivocado, sempre era eu quem sabia pouco mesmo)
não li os tópicos anteriores..
mas talvez travar a janela da aplicação com a API LockWindowUpdate seria uma boa saÃda.
mas talvez travar a janela da aplicação com a API LockWindowUpdate seria uma boa saÃda.
Galera!!
eu pedi ajulda simplesmente por não consegui resolver!!!
Se tem alguém aà que não acredita no que escrevi no tópico façam um teste com os programas do DATASUS.
Baixe o BPAMagnético Aqui
Baixem o Bd do kit que o BPAMagnético importa (é o mesmo que minha aplicação tem que importar)
Instalem e imortem o KIT.
Não estou aqui desfazendo de ninguém. Eu simplesmente pedi uma ajuda.
eu pedi ajulda simplesmente por não consegui resolver!!!
Se tem alguém aà que não acredita no que escrevi no tópico façam um teste com os programas do DATASUS.
Baixe o BPAMagnético Aqui
Baixem o Bd do kit que o BPAMagnético importa (é o mesmo que minha aplicação tem que importar)
Instalem e imortem o KIT.
Não estou aqui desfazendo de ninguém. Eu simplesmente pedi uma ajuda.
Citação:EMERSONTADEU escreveu:[BRConversa mole que seu programa tem o que o 13 e Robiu sugeriram e não da certo, se não funciona é porque travou mesmo.
Emerson, eu já vi casos em que o programa parava de responder na execução de uma SQL. Não tem [Ô]ampulheta[Ô] ou [Ô]progress bar[Ô] que resolva isso. LEIA mais atentamente os posts antes de comentar.
Citação:OLAFEKORKAN escreveu:
Galera!!
eu pedi ajulda simplesmente por não consegui resolver!!!
Cara, por que você não esconde a tua aplicação (me.hide) e mostra uma mensagem de[Ô]Importando[Ô] a partir de outro programa? é gambiarra, mas aqui funcionou...
Tópico encerrado , respostas não são mais permitidas