Clipper On Line • Ver Tópico - Como utilizar Thread no Xharbour/Xailer ???

Como utilizar Thread no Xharbour/Xailer ???

Discussão sobre a Xailer

Moderador: Moderadores

 

Como utilizar Thread no Xharbour/Xailer ???

Mensagempor mhackervix » 30 Mai 2008 23:06

Abaixo segue código de exemplo do uso de Thread no Xbase++ (retirado do Help do mesmo). Gostaria de saber como utilzar Threads no Xharbour...

PROCEDURE Main
LOCAL oThread := Thread():new() // create thread object

CLS
oThread:start( "Sum", 10000 ) // sum numbers from 1
// to 10000
DO WHILE .T. // display characters during
?? "." // the calculation
Sleep(10)
IF ! oThread:active // Check if thread still runs
EXIT
ENDIF

ENDDO

? "The sum is:", oThread:result
RETURN

FUNCTION Sum( nNumber )
LOCAL i, nSum := 0

FOR i:=1 TO nNumber
nSum += i
IF i % 100 == 0 // progress display
DispOutAt( MaxRow(), 0, i )
ENDIF
NEXT

RETURN nSum
Nota de Moderação:
Pablo César: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
Mhackervix, Msc.
Avatar de usuário

mhackervix
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 98
Data de registro: 11 Fev 2008 01:06
Cidade/Estado: ES
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Achei a Resposta...

Mensagempor mhackervix » 30 Mai 2008 23:34

Tinha procurado nos Helps do Xailer (utilizo o Xharbour através do Xailer) e não tinha encontrado. Procurei diretamente na documentação do Xharbour e encontrei a função StartThread() que resolve a questão.
Mhackervix, Msc.
Avatar de usuário

mhackervix
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 98
Data de registro: 11 Fev 2008 01:06
Cidade/Estado: ES
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Mensagempor Maligno » 30 Mai 2008 23:43

Não sei se já conhece, mas no guia de referência da linguagem (download aqui) pode-se encontrar uma boa descrição dessas funções. No índice da categoria há mais de 20 funções relacionadas à threads e semáforos (MUTEX). Inclusive com vários exemplos.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6432
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 12 vezes

Re:

Mensagempor mhackervix » 31 Mai 2008 10:33

Maligno escreveu:Não sei se já conhece, mas no guia de referência da linguagem (download aqui) pode-se encontrar uma boa descrição dessas funções. No índice da categoria há mais de 20 funções relacionadas à threads e semáforos (MUTEX). Inclusive com vários exemplos.


Maligno,
Obrigado. Foi justamente nesta fonte que encontrei o StartThread, porem, como dito acima, utilizo o xHarbour através do Xailer, ao compilar com a função StartThread() o Xailer da erro de função xHarbour inexistente e ao acrescentar o #include "thread.h" o erro aparece ao processar o include (não encontra a definição de __GNUC__ , interna ao thread.h).

Se alguem puder me auxiliar quanto ao Xailer, estou prescisando de ajuda.

Obrigado,
Mhackervix, Msc.
Avatar de usuário

mhackervix
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 98
Data de registro: 11 Fev 2008 01:06
Cidade/Estado: ES
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Re: Como utilizar Thread no Xharbour/Xailer ???

Mensagempor mhackervix » 02 Jun 2008 08:41

Verifiquei que o Xailer não tem a LIB xhbmt.lib (a qual esta o StartThread() ), baixei o xharbour e xHarbour Builder (free) e não encontrei esta Lib neles também.

Quem possuir esta Lib, favoz disponilizada. Acredito que com esta lib os Threads funcionarão no Xailer.

Por curiosidade: Parte do xHarbour é proprietaria e somente uma parte é livre ???

att.
Mhackervix, Msc.
Avatar de usuário

mhackervix
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 98
Data de registro: 11 Fev 2008 01:06
Cidade/Estado: ES
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Re: Como utilizar Thread no Xharbour/Xailer ???

Mensagempor sygecom » 02 Jun 2008 23:53

mhackervix escreveu:Verifiquei que o Xailer não tem a LIB xhbmt.lib (a qual esta o StartThread() ), baixei o xharbour e xHarbour Builder (free) e não encontrei esta Lib neles também.

Quem possuir esta Lib, favoz disponilizada. Acredito que com esta lib os Threads funcionarão no Xailer.

Qual versão do xHarbour você esta usando e de onde baixou ? e o xailer é compativel com Multi Thread ?

Por curiosidade: Parte do xHarbour é proprietaria e somente uma parte é livre ???

Até onde sei é o xharbour.org é livre, porem existe uma versão comercial do xHarbour onde tem acesso SQL e outras coisas mais, e essa sim é Paga.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 6639
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 76 vezes

Re: Como utilizar Thread no Xharbour/Xailer ???

Mensagempor mhackervix » 03 Jun 2008 09:24

sygecom escreveu:Qual versão do xHarbour você esta usando e de onde baixou ?


Baixei a ultima versão disponivel no site xharbour.org (1.0.0) que, aparentemente, é a mesma disponibilizada pelo Xailer.

e o xailer é compativel com Multi Thread ?


O Xailer é apenas uma IDE para o xHarbour.

Até onde sei é o xharbour.org é livre, porem existe uma versão comercial do xHarbour onde tem acesso SQL e outras coisas mais, e essa sim é Paga.


Não consegui encontrar a LIB xhbmt.lib na versão free. Ela consta no guia do xharbour (PDF) e no descritivo da versão paga (xharbour builder pro e enterprise).
Mhackervix, Msc.
Avatar de usuário

mhackervix
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 98
Data de registro: 11 Fev 2008 01:06
Cidade/Estado: ES
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Re: Como utilizar Thread no Xharbour/Xailer ???

Mensagempor sygecom » 06 Jun 2008 11:05

olá mhackervix,
As referencias de LIB do Help em PDF do xHarbour são para a versão comercial, já tinha notado isso, porem todas as funções que tem no Help do xHarbour comercial, funcionam no xharbour free.

Não sei como se faz para compilar no xMate, mas se estiver usando o hbmake, é só marcar a opção de Mult Thread que ele linka todas as LIB necessárias.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 6639
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 76 vezes

Re: Como utilizar Thread no Xharbour/Xailer ???

Mensagempor mhackervix » 06 Jun 2008 14:08

sygecom escreveu:Não sei como se faz para compilar no xMate, mas se estiver usando o hbmake, é só marcar a opção de Mult Thread que ele linka todas as LIB necessárias.


O Xailer chama o compilador internamente. Tem uma opção na configuração do projeto que podemos passar um parametro para o linker (acredito que é o linker do BCC que ele utiliza), mas não sei qual parametro passar. :'(

att.
Mhackervix, Msc.
Avatar de usuário

mhackervix
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 98
Data de registro: 11 Fev 2008 01:06
Cidade/Estado: ES
Curtiu: 1 vez
Mens.Curtidas: 1 vez




Retornar para Xailer

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro