PROGRAMA PARECENDO TRAVADO MAS NAO ESTA

OLAFEKORKAN 01/10/2009 14:42:38
#324175
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?
MARCELO.TREZE 01/10/2009 14:47:23
#324177
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.
OLAFEKORKAN 01/10/2009 14:50:28
#324178
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?
ROBIU 01/10/2009 15:01:09
#324182
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
OLAFEKORKAN 01/10/2009 15:08:23
#324183
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.
MARCELO.TREZE 01/10/2009 15:21:02
#324184
então tente criar um form que fica sempre ontop, fazendo estas tarefas, assim não corre este risco.
OLAFEKORKAN 01/10/2009 20:46:27
#324225
Num dá!
a aplicação usa MDI
EMERSONTADEU 02/10/2009 04:30:17
#324236
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)
CLEVERTON 02/10/2009 08:18:05
#324239
não li os tópicos anteriores..

mas talvez travar a janela da aplicação com a API LockWindowUpdate seria uma boa saída.
OLAFEKORKAN 02/10/2009 13:21:02
#324259
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.
ASHKATCHUP 02/10/2009 13:42:49
#324260
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...
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas