Página 1 de 1
Como utilizar Thread no Xharbour/Xailer ???
Enviado: 30 Mai 2008 23:06
por mhackervix
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...
Código: Selecionar todos
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
Achei a Resposta...
Enviado: 30 Mai 2008 23:34
por mhackervix
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.
Enviado: 30 Mai 2008 23:43
por Maligno
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.
Re:
Enviado: 31 Mai 2008 10:33
por mhackervix
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,
Re: Como utilizar Thread no Xharbour/Xailer ???
Enviado: 02 Jun 2008 08:41
por mhackervix
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.
Re: Como utilizar Thread no Xharbour/Xailer ???
Enviado: 02 Jun 2008 23:53
por sygecom
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.
Re: Como utilizar Thread no Xharbour/Xailer ???
Enviado: 03 Jun 2008 09:24
por mhackervix
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).
Re: Como utilizar Thread no Xharbour/Xailer ???
Enviado: 06 Jun 2008 11:05
por sygecom
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.
Re: Como utilizar Thread no Xharbour/Xailer ???
Enviado: 06 Jun 2008 14:08
por mhackervix
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.