Clipper On Line • Ver Tópico - Thread no HARBOUR e não xHarbour

Thread no HARBOUR e não xHarbour

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

Moderador: Moderadores

 

Thread no HARBOUR e não xHarbour

Mensagempor fladimir » 11 Out 2010 01:07

Pessoal no xHarbour utilizava assim:

nIdBkEmail01:= StartThread( "Envia_Email",  , "Analise Sistema ", , , , , cArquivo,,.F.,.F.) 


e blz sem problema....

agora no Harbour não funciona, e não é a Função Envia e-mail, pois a mesma executada fora da Thread roda legal.

estou usando o #include "hbcompat.ch" e tb a lib hbxpp mas não deu, tentei trocar por HB_ThreadStar() tb não deu...

Como os colegas q usam o Harbour estão fazendo com funções em BackGround ou Threads ???

Sds...
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Re: Thread no HARBOUR e não xHarbour

Mensagempor Itamar M. Lins Jr. » 11 Out 2010 12:54

Ola!
Pergunta basica...
Está compilado com MT ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Re: Thread no HARBOUR e não xHarbour

Mensagempor Itamar M. Lins Jr. » 11 Out 2010 13:02

Continuando...
/*
* $Id: mttest02.prg 14676 2010-06-03 16:23:36Z vszakats $
*/

/*
* Harbour Project source code:
*    demonstration/test code for using QUIT commands and ALWAYS statements
*    execution. Child thread uses QUIT before main one.
*
* Copyright 2008 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
* www - http://harbour-project.org
*
*/

#ifdef __XHARBOUR__
   #xtranslate hb_threadStart( <x,...> ) => StartThread( <x> )
   #xtranslate hb_threadJoin( <x,...> ) => JoinThread( <x> )
   #command begin sequence   => try
   #command always           => finally
#endif

proc main()
   local thID, i
   ? Version()
   ? "Main start"
   thID := hb_threadStart( @thFunc(), "A", "B", "C" )
   ? "Thread ID:", thID
   ? "==================="
   ?
   begin sequence
      for i := 1 to 10
         ?? "M"
         hb_idleSleep(0.050)
      next
      ? "==================="
      ? "Main QUIT"
      quit
   always
      ? "Main ALWAYS section"
      ?
   endsequence
   ? "End of main"
return

proc thFunc( ... )
   local i
   ? "Thread begin"
   ? "Parameters:"
   aeval( hb_aParams(), {|x|qqout("",x)})
   ?
   begin sequence
      for i:=1 to 10
         ?? "t"
         hb_idleSleep(0.030)
         if i == 5
            ? "Thread QUIT"
            quit
         endif
      next
   always
      ? "Thread ALWAYS section"
      ?
   endsequence
   ? "Thread end"
   ?
return

exit proc p
? "I'm EXIT procedure"

Os exemplos estão na pasta \tests\mt
compilar esse, usando: hbmk2 mttest02.prg -mt
Resultado:
C:\harbour\trunk\harbour\tests\mt>mttest02

Harbour 2.1.0beta2 (Rev. 15561)
Main start
Thread ID: 0x00A8A20C
===================

Thread begin
Parameters: AM B C
ttMttMt
Thread QUIT
Thread ALWAYS section
MMMMMMM
===================
Main QUIT
Main ALWAYS section

I'm EXIT procedure
C:\harbour\trunk\harbour\tests\mt>


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Re: Thread no HARBOUR e não xHarbour

Mensagempor fladimir » 11 Out 2010 14:07

Olá Itamar, sim estou compilando com MT utilizando -mt no hbmk2, entao eu vi os exemplos e testei, mas no meu codigo acima demonstrado não vai, e se faço a função Envia_Email() por fora da Thread funciona normal.

no Inicio do Código estou colocando "hbcompat.ch" q faz o translate do exemplo q vc postou e uso tb a lib xhb

Sera q pode ser isto?

Sds.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Thread no HARBOUR e não xHarbour

Mensagempor JCBarbosa » 12 Nov 2018 16:34

Olá Pessoal.... preciso de uma ajuda....
Já vi vários post ai, mas não consigo ver como começar e qual função utilizar.....
- Preciso que um função que rode e fique verificando a cada 30 segundos e me avise quando chega arquivo em uma determinada pasta.
- Tenho um aplicativo que vai baixar os pedidos em XML em uma pasta e queria que quando chegar possa me avisar com msg ou Beep a cada 10, 20 segundos
ex Pasta C:\Arquivos arquivos = .XML (HARBOUR)

alguém poderia me ajudar ??

grato e no aguardo
Avatar de usuário

JCBarbosa
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 19 Mar 2014 15:12
Cidade/Estado: Americana/SP
Curtiu: 0 vez
Mens.Curtidas: 1 vez




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 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