Ajuda! Delphi 7 - Comandos de tela demoram a responder

Delphi

23/09/2010

Olá, pessoal!

Estou com um problema que pode até ser bobo de se resolver, mas, sinceramente não consigo:

Minha aplicação foi desenvolvida em Delphi 7 Enterprise e meu banco de dados é o SQL Server 2008.

Bem, às vezes, e esse é o pior, só às vezes, a minha aplicação demora para responder aos clicks do mouse nos botões. Ou a quelquer ação na tela. Pois é, eu vou lá no botão, clico e espero. Daí um tempo vejo o botão descer e subir e a aplicação começar a responder. Ou rolo uma lista, no teclado pressiono as setas pra baixo varias vezes e só depois na tela começa a responder. A resposta do BD em si não demora, só mesmo as ações na tela.

Mas isso não acontece em em todas as máquinas. Só vi acontecer em 2: 1 Windows 2000 Pro e outra Windows XP. O pior é que a Win XP é justamente a máquina do chefe do financeiro. Ele sempre tem pressa...

Já revirei todo meu código mas não consgo fazer idéia do que pode ser. Acho que não é problema de código se não, aconteceria nas outras estações também.

Alguém tem alguma sugestão ? Ficaria muito feliz em receber qualquer dica que fosse.

Obrigada pessoal. Tô no aguardo!

Magali
Magali Faleiro

Magali Faleiro

Curtidas 0

Respostas

Tiago Martins

Tiago Martins

23/09/2010

Quando ocorre de ficar lento, vocês está trazendo muitos dados do bd pra tela? Já verificou a query que traz os dados, tente otimiza-la. 
GOSTEI 0
Magali Faleiro

Magali Faleiro

23/09/2010

Olá! Obrigada pela resposta!   Acho que o problema não deve ser com a query não. Pois antes de ir no BD, já dá o problema.   Por exemplo, abro o programa e clico em algum item do menu. Pronto! Já demora a responder. E mesmo assim, acontece nas telas mais simples, desde a tela principal onde só tem menu, até as telas de consultas mais pesadas.   Depois, simplesmente volta ao normal. O pior problema é esse que um dia acontece e no outro não. Não sei mais onde caçar as causas.   Muito obrigada pela atenção, espero que ainda tenha mais dicas.
GOSTEI 0
Fábio Cruz

Fábio Cruz

23/09/2010

Chegou a verificar se é sempre no mesmo momento que ocorre esses travamentos? Qndo trava é só seu programa ou o computador "inteiro"?

Experimente abrir o Gerenciador de Tarefas no momento dessas travadas (CRTL+SHIFT+ESC) e veja o que está pesando no exato momento.
GOSTEI 0
Magali Faleiro

Magali Faleiro

23/09/2010

Ah! Uma coisa que esqueci de mencionar e acho que pode dar pistas:   Isso acontece quando abro o programa que está no servidor de arquivos. Todos os programas ficam no mesmo lugar e as estações de trabalho acessam estes programs através de atalhos no desktop.   Quando trago o executável pra minha máquina ou mudo ele pra outra máquina qualquer que não seja o servidor de arquivos isso não acontece mais. Mas não posso deixar assim, tenho que manter os executáveis no servidor de arquivos.   Este servidor de arquivos é uma máquina com Linux Debian. Já usamos há muito tempo e nunca tive problema algum de rede com ele.
GOSTEI 0
Chadoiam

Chadoiam

23/09/2010

Amigao nao seria melhor cada estacao ter 1 programa independente e vc compartilha apenas 1 banco de dados? isso ficaria bem + leve pq cada programa vai obedecer somente a  1 usuario da maquina, Ja vi casos que quando fazem esse tipo de acesso que vc fez 1 programa para 20 computador compartilhado via atalho da um pouco de lentidao, pois o programa tem q gerir todas as conexoes de todos os usuarios que tao acessando ele sozinho realizar todos os commit, busca e etc e dependendo do hardware da maquina isso fica tenso. Pelo que vc falo, ao testar o programa sozinho ele funciona bem, mais na hora que as pessoas acessam ele pelo atalho que aparece a lentidao correto?Pode ser algum problema nesse atalho q vc crio pode ser tambem a configuracao do servidor ou firewall que barra ou fica verificando as conexoes para esse programa ou banco ou pode ser o modo que vc fez funcionar em rede nos componente de conexao que estao com alguem pau .

Por via das duvidas se nao for dificil teste 1 programa idenpendente para cada usuario da rede, e tambem tente refazer as conexoes no seu codigo as vezes ta passando algum parametro errado, e tmabem verifique o firewall do servidor se ele nao ta muito no maximo vamos dizer assim.


Abracos...
GOSTEI 0
Magali Faleiro

Magali Faleiro

23/09/2010

Obrigada pela atenção. Bem, se eu colocar um executável em cada máquina, quando eu precisar atualizar o sistema (o que ocorre com bastante frequancia) eu vou ter que ir em cada umas das 30 máquinas da rede e atualizar cada uma delas. O sistema tem 10 anos e sempre foi distribuído como está hoje. Fora os arquivos auxiliares que meu sistema precisa que ficam no mesmo path do executável e que todos têm que ter igual. E este problema só acontece em 2 máquinas, as outras 28 da rede funcionam perfeitamente e sem conflitos ente si.
GOSTEI 0
Chadoiam

Chadoiam

23/09/2010

Hum se funciona bem nas outras maquinas, entao o problema pode ser essas 2 maquinas em questao o sistema ta normal entao , vai parecer meio besta + ja tento formatar essas 2 maquinas? Seila pode ser algum pau no sistema, tipo sabe quando dava aquele bug no win XP que o processamento ficava 100% ae as aplicacoes travava entao pode ser algo do tipo.
GOSTEI 0
Fábio Cruz

Fábio Cruz

23/09/2010

A atualização já foi debatida várias vezes no forum (tanto para rede local, quanto para internet)
GOSTEI 0
Magali Faleiro

Magali Faleiro

23/09/2010

Bem, então você poderia me passar o link ? Pois procurei bastante e não encontrei.   E preciso muito resolver isso.   Obrigada!
GOSTEI 0
Fábio Cruz

Fábio Cruz

23/09/2010

Dá uma olhada nesse link
GOSTEI 0
Magali Faleiro

Magali Faleiro

23/09/2010

Pessoal, eu sei que vocês estão sendo super atenciosos na tentativa de me ajudar com esse "mistério" e os agradeço muito por isso.   Porém, o meu problema não é de atualização de executável, nem de banco de dados.   Repetindo... às vezes, e esse é o pior, só às vezes, a minha aplicação demora para responder aos clicks do mouse nos botões. Ou a qualquer ação na tela. Pois é, eu vou lá no botão, clico e espero. Daí um tempo vejo o botão descer e subir e a aplicação começar a responder. Ou rolo uma lista, no teclado pressiono as setas pra baixo varias vezes e só depois na tela começa a responder. A resposta do BD em si não demora, só mesmo as ações na tela.

Mas isso não acontece em em todas as máquinas. Só vi acontecer em 2: 1 Windows 2000 Pro e outra Windows XP.   Resumindo: eu clico no botão, no menu seja lá onde for e nada acontece. Espero um pouco, depois o botão ou menu responde. Isso já tá me irritando!
GOSTEI 0
Rodolpho Silva

Rodolpho Silva

23/09/2010

Bem, temos alguns fatos concretos:
Só ocorre em 2 máquinas, nas demais isso não corre - Isso me diz que a princípio o problema não está no seu aplicativo.Ocorre apenas as vezes, aleatoriamente sem algum parâmetro - Pode ter um terceiro ocasionando isso (processo do windows, por exemplo).
Agora eis algumas perguntas:O que você usa pra conectar ao banco de dados?Qual é o componente que você usa para extrair os dados? Table, Query, etc...Já verificou nos ancestrais do evento Click do botão, para ver se existe algum acesso ao BD?
GOSTEI 0
POSTAR