Programa (não está respondendo)

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

indusoft
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 06 Out 2004 17:02

Programa (não está respondendo)

Mensagem por indusoft »

Olá galera,

Sou iniciante no Harbour, e montei uma tela onde faço um processamento,
durante esta tarefa, não posso clicar em nada, pois o windows
mostra a mensagem de PROGRAMA NÃO ESTÁ RESPONDENDO,
mas o processo continua executanto sua tarefa.

Inclusive quando termina todo o cálculo, o processo, volta ao normal.
liberando a tela.

O que fazer?

Atenciosamente,

Vanderlei
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Programa (não está respondendo)

Mensagem por Itamar M. Lins Jr. »

Ola!
Existe algumas maneiras:
(1) via inkey(.1)
(2) via função millisec()
(3) via WaitPeriod()
(4) via Hwgui hwg_DoEvents()

Tem outras mas não lembro o nome agora.
Eu uso a opção (4)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Programa (não está respondendo)

Mensagem por Itamar M. Lins Jr. »

Neste caso, pode-se criar uma tela "Aguarde..." enquanto executa a rotina.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Programa (não está respondendo)

Mensagem por lucimauro »

Itamar qual lib eu encontro a funcao millisec() ?
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Programa (não está respondendo)

Mensagem por Itamar M. Lins Jr. »

Ola!
Procurando no changelog do Harbour.
2008-12-25 11:14 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* include/hbextern.ch
* source/rtl/seconds.c
+ implemented hb_milliseconds(). This function returns time value
from some moment in the past (not midnigth!). It does not start
to cound from zero in midnight, thus, can be safetly used to
measure time intervals.
+ tests/ticktime.c
+ Added nice test for hb_milliseconds().
Results on WinXP:
Ticks per second: 63.595
Min/avg/max interval (ms): 15.000 / 15.724 / 47.000
Loops per tick: 13035.09
Results on openSUSE on VirtualBox on WinXP:
Ticks per second: 991.799
Min/avg/max interval (ms): 1.000 / 1.008 / 22.000
Loops per tick: 765.71
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Programa (não está respondendo)

Mensagem por Pablo César »

indusoft (Vanderlei) escreveu:montei uma tela onde faço um processamento,
durante esta tarefa, não posso clicar em nada, pois o windows
mostra a mensagem de PROGRAMA NÃO ESTÁ RESPONDENDO
Se ainda não descobriu o erro, favor postar seu código para analisarmos.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
anacatacombs
Membro Master
Membro Master
Mensagens: 472
Registrado em: 12 Jul 2005 16:53
Localização: Cianorte-Paraná
Contato:

Programa (não está respondendo)

Mensagem por anacatacombs »

Se você usa a GTWVW utilize a função: wvw_processmessages()
Responder