Clipper On Line • Ver Tópico - Teste XHarbour

Teste XHarbour

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

Moderador: Moderadores

 

Teste XHarbour

Mensagempor JoséQuintas » 10 Out 2017 19:20

Estou com uma curiosidade há algum tempo....
Então vou fazer o teste do xHarbour ao estilo José Quintas.... rs
Vamos ver o que dá....

Por enquanto entrei lá no xharbour.org e baixei o XHarbour e o BC 5.1....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor JoséQuintas » 10 Out 2017 21:25

É... não deu.
Tentei usar o HBMK2 do Harbour no xHarbour, mas não dá.
Apesar de estarem disponíveis todas as configurações possíveis...
hbmk2 não usa o harbour.exe, usa a função hb_Compile().
Pois é... fantástico...

Com isso, não existe harbour.exe pra ser substituído....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor JoséQuintas » 10 Out 2017 21:47

Esqueci de dizer: era só esse teste que eu queria fazer no xHarbour.
Acabei com a curiosidade que eu tinha...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor RobertoLinux » 11 Out 2017 09:26

Bom dia.

O nobre colega baixou os fontes do xHarbour e os compilou com o BCC 551 ? e tentou usar o hbmk2 do Harbour? foi isso ?

Obrigado.
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Teste XHarbour

Mensagempor JoséQuintas » 11 Out 2017 09:51

Quase isso, exceto que baixei direto os binários do xHarbour.

O Viktor já informou que existem algumas opções, como -xhb, -hb30, -hb20.
A intenção é simplificar/padronizar os projetos existentes eliminando a necessidade de arquivos BAT.
Isso simplifica configurar LIBs, compiladores diferentes, e muitas coisas mais.

Assim que possível vou fazer novos testes usando essas opções.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor RobertoLinux » 11 Out 2017 09:59

Valeu ...
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Teste XHarbour

Mensagempor JoséQuintas » 11 Out 2017 10:07

Apenas pra complementar, a informação do Viktor:

hbmk2 is capable of using an external harbour.exe compiler,
if you use any of the options -xhb, -hb30, -hb20 and similar. Of
these -xhb enables xHarbour mode. More info in the help.


E apenas pra lembrar:
- hbmk2 facilita na linquedição com dicas
- hbmk2 facilita a criar documentação
- hbmk2 facilita configurar libs adicionais
- hbmk2 facilita usar compiladores diferentes
- etc.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor RobertoLinux » 11 Out 2017 10:27

Essa opção de usar compiladores diferentes, é bem interessante, mas não sei se estou correto, o ramo 3.4 deixou de suportar o BCC 5.x 6.x 7.x ? é isso mesmo ?
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Teste XHarbour

Mensagempor Itamar M. Lins Jr. » 11 Out 2017 10:28

Ola!
Uma das pessoas que ainda mantém o xHarbour, é o Rafael Culik, criador do hbmaker.
Essa ferramenta não tem no Harbour 3.2/4, só no xHarbour.
Talvez isso explique a não adoção do hbmk2 no xHb e muitas outras coisas úteis que não é mantido no xHb porque conflita com as partes "vendidas" do xHB. Enfim, na minha opinião o xHB só tem prejudicado o Harbour.
Na realidade, do meu ponto de vista, neste momento eles estão mais para concorrentes do que parceiros.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6960
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 313 vezes
Mens.Curtidas: 508 vezes

Teste XHarbour

Mensagempor Itamar M. Lins Jr. » 11 Out 2017 10:43

Ola!
Não sei para quê, manter compatibilidade com o XHb, uma vez que ele está totalmente abandonado há mais de 5 anos.
Apenas aumento de sobrecarga nos aplicativos. Mais código sem necessidade. Tudo que o XHB faz o Harbour faz melhor, simples assim.
Se fosse um projeto iniciado há 5 anos, tudo bem, mas projetos novos ? Manter compatibilidade ?
Observe o Letodb e Letodbf ou o próprio Harbour 3.4 não tem como fazer MT com o xHarbour. Isso já não significa algo ? E ninguém para corrigir isso, se é para deixar igual ao Harbour "copiando tudo do Harbour ultimamente" para quê continuar com o Xhb. ?

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6960
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 313 vezes
Mens.Curtidas: 508 vezes

Teste XHarbour

Mensagempor JoséQuintas » 11 Out 2017 11:31

O Harbour 3.4 não aceita ser gerado em BCC, mas o HBMK2 mantém tudo porque atende tudo.

A opção de compiladores diferentes é relativamente simples: desviar as LIBs pra pasta conforme compilador.

-olib/${hb_plat}/${hb_comp}/${hb_name}

-Llib/${hb_plat}/${hb_comp}

${hb_plat} == plataforma/OS, por exemplo win
${hb_comp} == compilador, por exemplo bcc, bcc64, msvc, msvc64, mingw, mingw64
${hb_name} == nome do arquivo hbp, já representa o nome da lib

no computador:
/lib/win/bcc/nome.lib

simples e prático: cada compilador fica em uma pasta diferente, pode até ter todos ao mesmo tempo, exceto versões diferentes (msvc express + msvc visual studio)

Se tiver um arquivo só pra bcc:
{bcc}fontebcc.prg

se tiver um arquivo que NÃO é pra bcc
{|bcc}fontenaobcc.prg

se tiver um arquivo que NÃO é pra Windows
{|win}xxxxx

e por aí vai.

muitas facilidades no uso de hbmk2
Isso é apenas uma pequena parte

pra LIBs, entra o HBC também, algo como um conjunto de parâmetros/arquivos específicos daquela lib.
Num projeto de fivewin, por exemplo, usaria fivewin.hbc, e no fivewin.hbc tudo que é preciso pra fivewin.
Se trocar a fivewin, e ela alterar seus nomes, bastaria atualizar fivewin.hbc e todos os projetos usando essa LIB já seriam atualizados.
A LIB teria o seu HBC indicando o que ELA precisa.

Fica tudo bem organizado, cada "conjunto" cuidando do que é seu.
E o projeto só indica quais "conjuntos" utiliza.

Melhor do que espalhar diferentes BATs de diferentes coisas, e confundir tudo.

E se precisar, o HBMK2 também gera a lista de todos os comandos que ele estará usando, um por um.
Então não vai esconder nada de ninguém, quem quiser poderá ver cada comando individual, que poderia usar pra criar tudo manualmente.

Tem muito recurso que nem sei pra que serve.... rs
Ë ir usando a parte básica, e com o tempo, ou conforme for precisando, ir descobrindo recursos adicionais.

Ao invés de criar BATs ou outras coisas, que podem depender do sistema operacional, usa uma ferramenta que funciona igual em tudo que é lugar.

Não sei para quê, manter compatibilidade com o XHb, uma vez que ele está totalmente abandonado há mais de 5 anos

se é para deixar igual ao Harbour "copiando tudo do Harbour ultimamente" para quê continuar com o Xhb. ?


Concordo totalmente.
Mas no momento, um está atrapalhando o outro.
Usar HBMK2 pode ser um jeito de um ajudar o outro, ao invés de atrapalhar.
Melhor pra quem usa xHarbour, melhor pra quem usa LIBs que atendem Harbour/xHarbour, o que acaba sendo melhor para quem usa Harbour.
Uma coisa a mais pra ajudar, e uma coisa a menos pra atrapalhar, todos ganham.

E se alguém quiser trocar um pelo outro depois, não vai ser a compilação que vai atrapalhar.
Cada um vai poder usar o que quiser, seja um ou o outro.

E se a LIB continuar complicando só pra deixar preso ao xHarbour e bcc... vai ficar bem visível isso.
O usuário vai enxergar que podem estar fazendo de propósito, só pra ganhar dinheiro....
Quanto mais fora do padrão do Harbour, que atende tudo, mais preso o usuário fica aquele produto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor RobertoLinux » 11 Out 2017 13:03

Impressionante.

Muito bom o trabalho do Vickto e todos envolvidos.
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Teste XHarbour

Mensagempor JoséQuintas » 11 Out 2017 15:46

UAU !!!!!

Vamos aos passos:

- baixei os binários do xHarbour no xharbour.org - bcc5.1, descompactei em D:\XHARBOUR
- baixei os binários do bcc 5.1, descompactei em D:\XHARBOUR\COMP\BCC

Fiz uma modificação prévia que até estranhei: tem LIBs pra bcc e mingw... mas tudo bem...
movi libs de d:\xharbour\lib pra d:\xharbour\lib\win\bcc e d:\xharbour\bin\win\mingw

copiei o hbmk2.exe do harbour 3.4 pra dentro da d:\xharbour\bin

Até aqui, nada de mais. coisas comuns.

Fiz igual faria no Harbour:

SET HB_COMPILER=bcc
SET HB_COMPILER_VER=0501
SET HB_INSTALL_PREFIX=d:\xharbour
SET PATH=d:\tools\util;d:\xharbour\bin;d:\xharbour\comp\bcc\bin

fui na minha pasta d:\temp, usei o que estava lá, e tentei compilar com HBMK2.
apenas acrescentei o -xhb

hbmk2 test -xhb

hbmk2: Processing environment options: -comp=bcc
hbmk2 [test]: Warning: Ignoring explicitly specified core header directory:
d:\xharbour\include (in option '-Id:\xharbour\include' in
test.hbp:2)
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'test.prg'...
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_erd3o6.dir\test.c'...
Done.
Lines 82, Functions/Procedures 3, pCodes 185
C:\Users\joseq\AppData\Local\Temp\hbmk_erd3o6.dir\test.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_SEFAZCLASS' referenced from C:\USERS\JOSEQ\APPDATA\LOCAL\TEMP\HBMK_ERD3O6.DIR\TEST.OBJ
Error: Unresolved external '_HB_FUN_XMLNODE' referenced from C:\USERS\JOSEQ\APPDATA\LOCAL\TEMP\HBMK_ERD3O6.DIR\TEST.OBJ
hbmk2 [test]: Error: Running linker. 2
ilink32.exe @C:\Users\joseq\AppData\Local\Temp\7hbpui.lnk

hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
SEFAZCLASS(), XMLNODE()


---warning---

hbmk2 [test]: Warning: Ignoring explicitly specified core header directory:
d:\xharbour\include (in option '-Id:\xharbour\include' in
test.hbp:2)

é que no teste anterior tinha indicado a pasta de include do xHarbour e não precisa

test.prg
-Id:\xharbour\include

---Erro---
hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
SEFAZCLASS(), XMLNODE()

É que está faltando mesmo.... rs

Vamos ao segundo teste: movi os arquivos hbx do Harbour 3.4 para o XHarbour, e corrigi o hbp

d:\temp>hbmk2 test -xhb
hbmk2: Processing environment options: -comp=bcc
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'test.prg'...
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_evhasm.dir\test.c'...
Done.
Lines 82, Functions/Procedures 3, pCodes 185
C:\Users\joseq\AppData\Local\Temp\hbmk_evhasm.dir\test.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_SEFAZCLASS' referenced from C:\USERS\JOSEQ\APPDATA\LOCAL\TEMP\HBMK_EVHASM.DIR\TEST.OBJ
Error: Unresolved external '_HB_FUN_XMLNODE' referenced from C:\USERS\JOSEQ\APPDATA\LOCAL\TEMP\HBMK_EVHASM.DIR\TEST.OBJ
hbmk2 [test]: Error: Running linker. 2
ilink32.exe @C:\Users\joseq\AppData\Local\Temp\kdy3vo.lnk

hbmk2: Hint: Install package sefazclass and input file 'addons\sefazclass.hbc'
for missing Harbour function(s): xmlnode(), sefazclass()


Também mostrou a dica de onde encontrar as funções.

Por último, um fonte simples, que não depende de nada.

hbmk2 test2 -xhb

hbmk2: Processing environment options: -comp=bcc
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'test2.prg'...
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_8c2igg.dir\test2.c'...
Done.
Lines 5, Functions/Procedures 1, pCodes 11
C:\Users\joseq\AppData\Local\Temp\hbmk_8c2igg.dir\test2.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

d:\temp>test2

97


O HBP é porque já estava criado, no segundo teste foi direto o PRG.
Não faço idéia de como se compilaria no xHarbour hoje, mas me parece que não é tão fácil assim.
Quem usa xHarbour pode dizer se assim fica fácil ou não.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor JoséQuintas » 11 Out 2017 15:55

O próximo teste foi a SefazClass.

d:\cdrom\FONTES\INTEGRA\sefazclass>hbmk2 sefazclass -xhb
hbmk2: Processing environment options: -comp=bcc
hbmk2 [sefazclass]: Warning: Cannot find hbhpdf.hbc (referenced from
sefazclass.hbc)
hbmk2 [sefazclass]: Warning: Cannot find hbzebra.hbc (referenced from
sefazclass.hbc)
hbmk2 [sefazclass]: Warning: Cannot find hbwin.hbc (referenced from
sefazclass.hbc)
hbmk2 [sefazclass]: Warning: Cannot find hbct.hbc (referenced from
sefazclass.hbc)
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'source\ze_capicom.prg'...
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_7dleft.dir\ze_capicom.c'...
Done.
Lines 54, Functions/Procedures 2, pCodes 184
xHarbour 1.2.3 Intl. (SimpLex) (Build 20170902)
Copyright 1999-2017, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'source\ze_SpedAssina.prg'...
source\ze_SpedAssina.prg(59) Error E0030 Syntax error: "syntax error at 'WITH'"
source\ze_SpedAssina.prg(85) Error E0030 Syntax error: "syntax error at 'END'"
source\ze_SpedAssina.prg(98) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(215) Error E0030 Syntax error: "syntax error at 'WITH'"
source\ze_SpedAssina.prg(224) Error E0030 Syntax error: "syntax error at 'END'"
source\ze_SpedAssina.prg(228) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(233) Error E0030 Syntax error: "syntax error at 'WITH'"
source\ze_SpedAssina.prg(239) Error E0030 Syntax error: "syntax error at 'END'"
source\ze_SpedAssina.prg(248) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(251) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(254) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(256) Warning W0032 Variable 'LOK' is assigned but not used in function 'ASSINALOADXML(213)'
source\ze_SpedAssina.prg(256) Warning W0032 Variable 'LOK' is assigned but not used in function 'ASSINALOADXML(231)'
source\ze_SpedAssina.prg(266) Error E0030 Syntax error: "syntax error at 'WITH'"
source\ze_SpedAssina.prg(273) Error E0030 Syntax error: "syntax error at 'END'"
source\ze_SpedAssina.prg(276) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(279) Error E0025 Invalid RETURN from within of SEQUENCE code
source\ze_SpedAssina.prg(281) Warning W0032 Variable 'LOK' is assigned but not used in function 'ASSINALOADCERTIFICADO(258)'
15 errors

No code generated
hbmk2 [sefazclass]: Error: Running Harbour compiler. 1
d:\xharbour\bin\harbour.exe -n1 source\ze_SpedAssina.prg -w3 -es2 -m -n -DHBMK_HAS_SEFAZCLASS=1 -oC:\Users\joseq\AppData\Local\Temp\hbmk_7dleft.dir\ -id:\xharbour\comp\bcc\Include -id:\xharbour\include -iinclude -undef:.ARCH. -D__PLATFORM__WINDOWS


Aí não tem jeito.... rs
LIBs que não tem no xHarbour e diferenças de sintaxe...
Mas já é sobre diferença entre Harbour e xHarbour, e não tem a ver com HBMK2.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Teste XHarbour

Mensagempor RobertoLinux » 12 Out 2017 15:16

Beleza amigo,

Fiz um teste simples aqui e deu certo, parabéns pela iniciativa.
:-Y
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Próximo



Retornar para Harbour

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