Novato em XHarbour

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

Moderador: Moderadores

Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Novato em XHarbour

Mensagem por Josmar dos Santos »

Ola caros colegas, fiz a compilação e deu varios erros, mas colocarei apenas duas dúvidas....As demais colocarei aos poucos.

Bom, eu uso a biblioteca Timeslic.Obj para o sistema ficar mais rápido. Ao linkar pelo Hbmake, apresentou o seguinte erro:

Código: Selecionar todos

Error: Unresolved external ´_HB_Fun_Freetslice´ referenced From C:\Pasta\Executável.OBJ
Bom, os senhores sabem que é declarado "Freetslice" no prg principal do sistema em Clipper. A pergunta é o seguinte: Há necessidade de usar essa Biblioteca em xHarbour ? e se tiver o que eu faço para eliminar esse erro ?

Outra Questão: Ao apagar os arquivos com extensão "OBJ" no Clipper, sabemos que linkar o mesmo pelo Clipper, é criado novamente.Foi feito o mesmo em xHarbour, porém ao linkar pelo Hbmaker, não se criou nada ! e o pior de tudo é que não consigo entrar no executável. Pergunto a todos, o xHarbour cria arquivos obj ? e se cria, como que eu faço ?

Sem mais, Obrigado !

Josmar

:xau
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Novato em XHarbour

Mensagem por rochinha »

Amiguinho,

Em primeiro lugar o Harbour cria objetos em 32bits e portanto não compativeis com objetos criados e usados no Clipper.

Recompile todos os .PRGs com Harbour e link-os corretamente.

Quanto a Freetslice verifique se existe a versão propria para uso com Harbour, ou algo semelhante.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Re: Novato em XHarbour

Mensagem por lucimauro »

Caro rocinha


eu precisao usar mesmo a Freetslice para que o xharbour nao fique usando tanto o processador.?


Desde ja agradeço.
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Novato em XHarbour

Mensagem por lugab »

Lucimauro, tb sou novato, mas essa eu posso te responder...

Esse "freetslice" só te servia quando vc compilava em 16 bits, portanto, compilando com xharbour ele passou a ser totalmente desnecesário e inócuo...
lugab
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Novato em XHarbour

Mensagem por Toledo »

Olá Josmar, bom dia!
Como o lugab falou, o comando do "freetslice" não é necessário com o Harbour, então você pode retirar esta linha para compilar com o Harbour.
Mas primeiramente é necessário saber se você instalou os programas necessários para compilar com o Harbour e fez as configurações deste programas corretamente. Vou passar abaixo um passo-a-passo de como fazer isto:

Bom, não sei qual a versão do Harbour que você instalou no seu micro, mas seria interessante instalar o Harbour na sua última versão, que é a versão 2.0.0. Faça a cópia desta versão no link abaixo:

http://sourceforge.net/projects/harbour ... e/download

Obs.: note que acima é o link para download do Harbour, e não do xHarbour. Para copiar o xHarbour, entre em http://xharbour.org/index.asp?page=down ... naries_win.

Para instalar o Harbour faça o seguinte:

1 - Executar o arquivo harbour-2.0.0-win.exe que você copiou no link acima, clique no botão "Next", depois em "I Agree", "Next" e finalmente em "Install"

2 - Você tem que instalar também o Borland BCC 5.5, para isto copie e execute o arquivo freecommandLinetools.exe que está no link abaixo:

http://altd.embarcadero.com/download/bc ... etools.exe

Na instalação do BCC 5.5, escolha os botões "Avançar" e depois "Concluir".

3 - Agora vamos configurar o Borland BCC 5.5:

a) Vamos criar o arquivo de configuração dos caminhos para o diretório /LIB e /INCLUDE do BCC e do harbour. Para isso, abra o Bloco de Notas e digite o seguinte:

-Ic:\Borland\bcc55\include;c:\hb20\include
-Lc:\Borland\bcc55\lib;c:\hb20\lib\win\bcc

Agora salve o arquivo no diretório C:\Borland\BCC55\BIN, com o nome de bcc32.cfg.

b) Agora vamos configurar o ILink32 do BCC, então usando o Bloco de Notas novamente, abra um arquivo novo e digite:

-Lc:\Borland\bcc55\lib;c:\hb20\lib\win\bcc

Agora salve-o no diretório C:\Borland\BCC55\BIN com o nome de ilink32.cfg.

4 - Para finalizar, temos que configurar o arquivo AUTOEXEC.BAT, informando o path do BCC e do Harbour.
Atenção: para Windows XP e Vista, pule para a opção "Configuração no Windows XP"

Configurando o AUTOEXEC.BAT:
Editar o arquivo AUTOEXEC.BAT, que está em C:\, e acrescentar os diretórios do BCC e do Harbour no path. Para isso acrescente as seguintes linhas no final do autoexec.bat.

PATH=%PATH%;C:\Borland\BCC55\BIN;C:\hb20\BIN

Depois salve e feche o arquivo.

Configuração no Windows XP:
Para o Windows XP a configuração acima é diferente, conforme segue abaixo:

a) Na área de trabalho do Windows, posicione o mouse sobre o Meu Computador e clique o botão direito e escolha a opção Propriedades
b) Clique na aba Avançado
c) Agora selecione no campo "Variáveis do sistema" uma variável chamada "path" e clique no botão Editar e acrescente no final do campo "Valor da variável" o seguinte comando:

;C:\Borland\BCC55\BIN;C:\hb20\BIN;

Obs.: note que existe um ; no início e no final do comando acima

d) Clique no botão Ok
e) E para finalizar, clique no botâo Ok novamente e feche a tela de propriedades.

Pronto, o BCC e o Harbour já estão instalados e configurados.

O Harbour é um compilador identico ao Clipper, então para usar ele você tem que digitar os comandos no Prompt do DOS.

No desenvolvimento de um PRG para compilar com o Harbour temos que observar as seguintes regras:

1 - O programa principal, que vai ter a tela iniciar do seu programa, tem que iniciar com:

FUNCTION MAIN()
..... //aqui vai os comandos do programa inicial
.....
RETURN NIL

A função MAIN() vai indicar para o Harbour que este PRG é o inicial.

2 - Tirando o PRG principal acima, todos os outros PRG do seu programa tem que iniciar com uma FUNCTION MeuPRG() ou PROCEDURE MeuPRG(). Obs.: a expressão "MeuPRG" você deve trocar pelo nome do PRG.
No Clipper, quando a gente desenvolvia um programa dividido em vários PRGs, nos PRGs secundários você podia já começar colocando os comandos sem a necessidade de definir uma FUNCTION ou PROCEDURE. Com o Harbour isto não pode acontecer, os PRGs secundários é obrigatório iniciar com uma FUNCTION ou PROCEDURE.

3 - Como no Harbour todos os PRGs secundários iniciam como uma FUNCTION ou PROCEDURE, toda chamada destes PRGs não pode mais ser usado o comando "DO", por exemplo: DO CADCLI ou DO CADCLI WITH 10,20, você deve trocar para simplesmente CADCLI() ou CADCLI(10,20).

4 - Para compilar com o Harbour um programa que tenha vários PRGs, devemos criar um arquivo HBP com o nome de todos os PRGs. Por exemplo: se o seu programa tem os seguintes arquivos: MENU.PRG, CLIENTES.PRG, PRODUTOS.PRG, LANCA.PRG, RELATO.PRG, ROTINAS.PRG, você deve criar um arquivo que tenha a extensão HBP (por exemplo: PROJETO.HBP) e dentro dele relacionar os PRGs acima. Veja um exemplo:

-inc
-osistema
menu.prg
clientes.prg
produtos.prg
lanca.prg
relato.prg
rotinas.prg

O comando -inc faz com que o Harbour compile apenas os PRGs que foram modificados desde a última compilação.
Onde está "-osistema" você deve informar o nome que o seu EXE vai ter. Então se você quer que o seu EXE tenha por exemplo o nome de SCE.EXE, troque -osistema por -osce.

Bom, criado o arquivo HBP, para compilar e linkar basta digitar:

HBMK2 PROJETO

No comando acima a expressão "PROJETO" é o nome do arquivo HBP que você criou.

Bom, acho que isto já é um começo!

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Novato em XHarbour

Mensagem por Toledo »

Amigos, apesar de ter informado o link para o xHarbour na minha mensagem acima, todas as orientações que passei sobre a compilação é para o Harbour. No xHarbour não existe o HBMK2.
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Re: Novato em XHarbour

Mensagem por lucimauro »

certo..

Mais hoje toledo voce usa qual dos dois XHARBOU ou HARBOUR?
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Novato em XHarbour

Mensagem por Toledo »

Tenho alguns programas antigos com xHarbour e MiniGui, mas hoje estou usando Harbour e HwGui e atento a evolução da lib HBQT do Harbour (veja: https://pctoledo.org/forum/viewto ... =47&t=9978).

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Re: Novato em XHarbour

Mensagem por Josmar dos Santos »

Ola a todos, e obrigado pela excelente atenção, ja estão sendo feita as mudanças conforme orientação de vocês e assim que eu tiver o resultado, retornarei...

Sem mais, obrigado

Josmar

:xau
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Re: Novato em XHarbour

Mensagem por Josmar dos Santos »

Bom, com o help do nosso colega AlaminoJunior, consegui resolver os problemas em geral. Bastou simplesmente trocar a versão do Xharbour por um versão mais atualizada , pois a minha era muito antiga. Feito isso, tanto o executável quanto os arquivos "OBJ" foram criados.

Abraço a todos e obrigado...

:D
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Re: Novato em XHarbour

Mensagem por lucimauro »

Nao se o que vou falar seria uma desvio do assunto do topico, mais for peço movao para o lugar correto.

Sempre trabalhei com clipper, agora quero migrar para xharbour/harbour , ate ja compilei um programa que tenho,mais uma coisa que nao gostei foi o tamanho da janela texto que ficou muito pequena, queria uma tela maior que ficasse a mostra somente a barra de status do windows,queria saber se isso ja é possivel usando o modo texto.

Espero que tenhao me entendio.

Desde ja agradeço.
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: Novato em XHarbour

Mensagem por Itamar M. Lins Jr. »

Ola! se não planeja usar SQLRDD, vá direto para o Harbour.

Nessa altura do campeonato, não podemos mais comparar hbmake com hbmk2, nem xEdit com HBIDE, existe uma superioridade critante dessas duas últimas ferramentas.
Se planeja trabalhar com perifericos seriais use a HBCOMM do Harbour, ou a TELEPATY, no xHarbour não tem nada que chegue nem perto.
São muitos avanços...
Quanto a janela observe esse pequeno exemplo para console usando WVT no Harbour.

Código: Selecionar todos


Function Main
Public cPasta := LEFT(hb_argv(0), RAT(HB_OSPathSeparator(), hb_argv(0)))
HB_CDPSELECT([PTISO])
hb_langselect([PT])

   hb_gtInfo( HB_GTI_ICONFILE, "imagens\sciwin.ico" )
   hb_gtInfo( HB_GTI_WINTITLE, "SCI - SISTEMA DE CONTROLE INTEGRADO" )
   Hb_GtInfo( HB_GTI_SELECTCOPY,.T.)
   Hb_GtInfo( HB_GTI_RESIZABLE, .T. )
   HB_GTINFO( HB_GTI_CLOSABLE, .T. )
   HB_GTINFO( HB_GTI_RESIZABLE, .T. )

   HB_GTINFO( HB_GTI_CODEPAGE, 850) // 255 )

   Hb_GTInfo(HB_GTI_MOUSESTATUS, 1 )

nRows := HB_GTINFO( HB_GTI_DESKTOPROWS )
nCols := HB_GTINFO( HB_GTI_DESKTOPCOLS )

set epoch to 1960
set date to brit
setcancel(.f.)
hb_gtInfo( HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED ) 

SetarVideo()


*******************
Function SetarVideo
*******************
*
*


   screenWIDTH:= HB_GTINFO( HB_GTI_SCREENWIDTH, HB_GTINFO(HB_GTI_DESKTOPWIDTH ) )

   screenHEIGHT := HB_GTINFO( HB_GTI_SCREENHEIGHT, HB_GTINFO(HB_GTI_DESKTOPHEIGHT ) -50 )

   HB_GTInfo(HB_GTI_FONTNAME, "Courier New")

   HB_GTInfo(HB_GTI_FONTQUALITY,HB_GTI_FONTQ_HIGH )


   if screenWidth >=  1920

    Hb_GtInfo( HB_GTI_FONTWIDTH, 21  )
    HB_GTInfo(HB_GTI_FONTSIZE, 40)

   ELSEIF screenWidth >= 1600               // 1280 *960

    Hb_GtInfo( HB_GTI_FONTWIDTH, 18  )
    HB_GTInfo(HB_GTI_FONTSIZE, 32)

   elseif screenWidth >= 1280               // 1280 *960

    Hb_GtInfo( HB_GTI_FONTWIDTH, 13  )
    HB_GTInfo(HB_GTI_FONTSIZE, 20)                     // 15*80=1200  36*25=900

   elseif screenWidth >= 1024           // 1024*760

    Hb_GtInfo( HB_GTI_FONTWIDTH, 12.5  )
    HB_GTInfo(HB_GTI_FONTSIZE, 20)

   elseif screenWidth >= 800

    Hb_GtInfo( HB_GTI_FONTWIDTH, 10  )
    HB_GTInfo(HB_GTI_FONTSIZE, 18)

   ELSE

      Hb_GtInfo( HB_GTI_FONTWIDTH, 15  )
      HB_GTInfo(HB_GTI_FONTSIZE, 35)

   ENDIF


return
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

Re: Novato em XHarbour

Mensagem por lucimauro »

Obrigado itamar por responder.

Aonde eu consigo a WVT.LIB ja que na contrib eu nao encontrei

Desde ja agradeço.
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: Novato em XHarbour

Mensagem por Itamar M. Lins Jr. »

Ola!
WVT faz parte do CORE do Harbour por isso ela esta na pasta "\SRC\RTL".
Portanto compilada automanticamente e linkada.

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

Re: Novato em XHarbour

Mensagem por lucimauro »

Eu ainda nao consegui compilar sabe itamar
Aonde eu tenho que colocar esse diretorio \tr1


Desde ha agredeço.
Responder