Clipper On Line • Ver Tópico - "Programa não está respondendo" após o execute

"Programa não está respondendo" após o execute

Discussão sobre SQL

Moderador: Moderadores

 

"Programa não está respondendo" após o execute

Mensagempor asimoes » 07 Fev 2020 09:28

Dependendo da consulta com muitos registros, pode acontecer a mensagem "Programa não está respondendo"
Então podemos apelar para a execução em Thread ?, fiz o teste aqui e funcionou.

Gravei o tempo para saber o tempo de execução

nSeconds := Seconds()

nThread  :=  Hb_ThreadStart( Hb_BitOr( HB_THREAD_INHERIT_PUBLIC, HB_THREAD_INHERIT_PRIVATE, HB_THREAD_INHERIT_MEMVARS ), {|| ::Execute(@oRecordSet, oCommand) } )
         
DO WHILE .T.
   IF Hb_ThreadWait( nThread, 0.1, .T. ) == 1
      Hb_MemoWrit( "EXECUTE.TXT", SecToTime( Seconds() - nSeconds ) )
      Exit
   ENDIF
   hwg_DoEvents()
ENDDO
         
METHOD Execute( oRS, oCommand )

   oRS := oCommand:Execute()
   
RETURN oRS
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes



Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro