Teste XHarbour
Moderador: Moderadores
Teste XHarbour
Como diria o STF (rs) acompanho o voto do Itamar, data venia, o xHarbour é querer se meter em problemas
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Teste XHarbour
Pensei pelo lado positivo:
O maior problema das LIBs é criar aquelas tranqueiras de BAT e enviar Harbour junto.
Com o uso de HBMK2 simplifica para o XHarbour, e deixa as LIBs mais limpas, nem precisando mandar Harbour junto.
Mas pra fazer o teste, acabei vendo alguns sites, li algumas coisas, etc.
Acabei achando tudo suspeito, parece que a intenção é deixar o usuário preso, destinado a usar algo comercial.
Com certeza o xHarbour não está parado, o que está parado é a parte destinada a open-source.
Notícia interessante no Harbour Devel:
Poderia ter... se a mesma pessoa tivesse enviado para ser parte dele, ao invés de fazer separado.
Isso também aumenta a suspeita que mencionei....
De repente saiu destinado ao uso junto com algum produto comercial.
Quanto mais fora do padrão, mais preso o usuário vai ficar ao produto.
O maior problema das LIBs é criar aquelas tranqueiras de BAT e enviar Harbour junto.
Com o uso de HBMK2 simplifica para o XHarbour, e deixa as LIBs mais limpas, nem precisando mandar Harbour junto.
Mas pra fazer o teste, acabei vendo alguns sites, li algumas coisas, etc.
Acabei achando tudo suspeito, parece que a intenção é deixar o usuário preso, destinado a usar algo comercial.
Com certeza o xHarbour não está parado, o que está parado é a parte destinada a open-source.
Notícia interessante no Harbour Devel:
Podem perguntar: se alguém fez o Harbour 3.4 pra BCC, porque não tem isso oficialmente?Andi Jahja asked me to provide a link to a HB 3.4 32-bit build under BCC
7.3 for the BCC users that he is in contact with.
This strictly binary download is available at whosaway.com.
Thanks to Andi for this very trimmed binary package.
Poderia ter... se a mesma pessoa tivesse enviado para ser parte dele, ao invés de fazer separado.
Isso também aumenta a suspeita que mencionei....
De repente saiu destinado ao uso junto com algum produto comercial.
Quanto mais fora do padrão, mais preso o usuário vai ficar ao produto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Teste XHarbour
Dá vontade de puxar a orelha dos usuários XHarbour e de quem cria LIB pra ele kkkkkkk
Sefazclass com Harbour
Criei hb2xhb.ch
O que não explica porque os fontes das LIBs são tão ruins, já que isso também existe no xHarbour.... rs
O erro que acusou dá pra entender:
Mas na prática serve: é que conforme aonde acontecer o erro, a mensagem vai ser diferente.
É aceitável.
Então vamos sem "tolerância zero"
Num primeiro momento, resolvi a diferença dos fontes entre Harbour/XHarbour apenas adicionando um arquivo CH.
Foi só teste.
O lugar correto seria no sefazclass.HBP e não no sefazclassHBC.
Porque? porque sefazclass.HBP é particular da LIB SefazClass, e sefazclass.HBC vai atender qualquer projeto que use a Sefazclass.
E não queremos que isso interfira em outras compilações, somente na Sefazclass.
{xhb} essa indicação já se encarrega de somente acrescentar isso se for compilação pra xHarbour.
A compilação -w3 -es2 também existe no xHarbour.
Porque não usam pelo menos nos fontes das LIBs.... não faço idéia.
Minha conclusão:
Vira tudo igual, só altera o -xhb
É um começo pra padronizar tudo cada vez mais, e ser melhor pra todos.
Quem sabe o que pode vir depois....
Nota:
Não é o uso do HBMK2 que vai "roubar" usuários do XHarbour, não sei se essa é a preocupação do XHarbour.
Vai ver os produtos comerciais pra XHarbour tem isso embutido, afinal, não sabemos o que tem nos fontes.... rs
Ah sim... tenho que ser justo:
precisei alterar um arquivo CH do XHarbour, o hbsetup.ch:
com isso, só vai definir se não estiver definido ainda.
Não altera nada na compilação, continua tudo igual, apenas evita o erro de declarar em dobro.
Sefazclass com Harbour
Sefazclass com XHarbourd:\cdrom\FONTES\INTEGRA\sefazclass>hbmk2 sefazclass -w3 -es2 -q0
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
Ok, diferença do BEGIN SEQUENCE WITH __BreakBlock()hbmk2 sefazclass -xhb -q0
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)
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)'
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 -q0 -oC:\Users\joseq\AppData\Local\Temp\hbmk_rgdgap.dir\ -id:\xharbour\comp\bcc\Include -id:\xharbour\include -iinclude -undef:.ARCH. -D__PLATFORM__WINDOWS
Criei hb2xhb.ch
E no projeto da LIB (sefazclass.hbc) , acrescentei pra se for XHarbour, usar esse CH#translate BEGIN SEQUENCE WITH __BreakBlock() => BEGIN SEQUENCE
nova compilação:{xhb}headers=hb2xhb.ch
É até interessante: a "tolerância zero" do xHarbour foi mais exigente.hbmk2 sefazclass -xhb -q0
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)
source\ze_spedAssinachk.prg(64) Warning W0032 Variable 'CXMLRETORNO' is assigned but not used in function 'CHKSIGNATURE(25)'
source\ze_spedAssinachk.prg(64) Warning W0032 Variable 'CXMLRETORNO' is assigned but not used in function 'CHKSIGNATURE(31)'
source\ze_spedAssinachk.prg(64) Warning W0032 Variable 'CXMLRETORNO' is assigned but not used in function 'CHKSIGNATURE(37)'
source\ze_spedAssinachk.prg(64) Warning W0032 Variable 'CXMLRETORNO' is assigned but not used in function 'CHKSIGNATURE(42)'
source\ze_spedAssinachk.prg(64) Warning W0032 Variable 'CXMLRETORNO' is assigned but not used in function 'CHKSIGNATURE(45)'
source\ze_spedAssinachk.prg(64) Warning W0032 Variable 'CXMLRETORNO' is assigned but not used in function 'CHKSIGNATURE(48)'
hbmk2 [sefazclass]: Error: Running Harbour compiler. 1
d:\xharbour\bin\harbour.exe -n1 source\ze_spedAssinachk.prg -w3 -es2 -m -n -DHBMK_HAS_SEFAZCLASS=1 -q0 -oC:\Users\joseq\AppData\Local\Temp\hbmk_9hjj4d.dir\ -id:\xharbour\comp\bcc\Include -id:\xharbour\include -iinclude -u+hb2xhb.ch -undef:.ARCH. -D__PLATFORM__WINDOWS
O que não explica porque os fontes das LIBs são tão ruins, já que isso também existe no xHarbour.... rs
O erro que acusou dá pra entender:
À primeira vista, trocar o conteúdo de cRetorno não serve pra nada.BEGIN SEQUENCE WITH __BreakBlock()
cRetorno := "Erro Assinatura: Não carregado MSXML2.MXDigitalSignature.5.0"
xmldsig := Win_OleCreateObject( "MSXML2.MXDigitalSignature.5.0" )
cRetorno := "Erro Assinatura: Template de assinatura não encontrado"
xmldsig:signature := oDOMDocument:selectSingleNode(".//ds:Signature")
cRetorno := "Erro assinatura: Certificado pra assinar XmlDSig:Store"
xmldsig:store := oCapicomStore
Mas na prática serve: é que conforme aonde acontecer o erro, a mensagem vai ser diferente.
É aceitável.
Então vamos sem "tolerância zero"
Ok. Deu falta da LIB harupdf, pra gerar pdf, e seus #defines.hbmk2 sefazclass -xhb -q0 -w0 -es0
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)
source\ze_SpedDaCte.prg(9) Error F0029 Can't open #include file: 'harupdf.ch'
hbmk2 [sefazclass]: Error: Running Harbour compiler. 1
d:\xharbour\bin\harbour.exe -n1 source\ze_SpedDaCte.prg -w3 -es2 -m -n -DHBMK_HAS_SEFAZCLASS=1 -q0 -w0 -es0 -oC:\Users\joseq\AppData\Local\Temp\hbmk_bjmpdb.dir\ -id:\xharbour\comp\bcc\Include -id:\xharbour\include -iinclude -u+hb2xhb.ch -undef:.ARCH. -D__PLATFORM__WINDOWS
Num primeiro momento, resolvi a diferença dos fontes entre Harbour/XHarbour apenas adicionando um arquivo CH.
Foi só teste.
O lugar correto seria no sefazclass.HBP e não no sefazclassHBC.
Porque? porque sefazclass.HBP é particular da LIB SefazClass, e sefazclass.HBC vai atender qualquer projeto que use a Sefazclass.
E não queremos que isso interfira em outras compilações, somente na Sefazclass.
{xhb} essa indicação já se encarrega de somente acrescentar isso se for compilação pra xHarbour.
A compilação -w3 -es2 também existe no xHarbour.
Porque não usam pelo menos nos fontes das LIBs.... não faço idéia.
Minha conclusão:
Vira tudo igual, só altera o -xhb
É um começo pra padronizar tudo cada vez mais, e ser melhor pra todos.
Quem sabe o que pode vir depois....
Nota:
Não é o uso do HBMK2 que vai "roubar" usuários do XHarbour, não sei se essa é a preocupação do XHarbour.
Vai ver os produtos comerciais pra XHarbour tem isso embutido, afinal, não sabemos o que tem nos fontes.... rs
Ah sim... tenho que ser justo:
precisei alterar um arquivo CH do XHarbour, o hbsetup.ch:
coloquei esse #ifndef, porque acusou duplicidade de declaração.#ifndef HB_COMPAT_C53
#define HB_COMPAT_C53 /* Enable CA-Cl*pper 5.3x extensions */
#endif
com isso, só vai definir se não estiver definido ainda.
Não altera nada na compilação, continua tudo igual, apenas evita o erro de declarar em dobro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Teste XHarbour
Um teste maior: OOHG
Funcionando com HBMK2, seja Harbour, XHarbour, BCC, MINGW, seja o que for.
Já repassei ao Fernando Yurisich (OOHG) pra ver o que ele diz.
Funcionando com HBMK2, seja Harbour, XHarbour, BCC, MINGW, seja o que for.
Já repassei ao Fernando Yurisich (OOHG) pra ver o que ele diz.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
