Harbour atualização 13/02/2024

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

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour atualização 13/02/2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Inclusive os warnings da OpenSSL e Curl e um erro hb_socketNToHS() um brasileiro criou essa função e não colocou no arquivo e exportação da DLL, o Przmek corrigiu, eu tinha postado no user, pq isso não é muito importante.(warnings)

Código: Selecionar todos

2024-01-29 17:13 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/harbour.def
    + added hb_socketNToHS() to exported functions

  * src/rtl/hbsocket.c
    + added hb_socketNToHS() for compilation without socket support
      (HB_SOCKET_OFF macro)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour atualização 13/02/2024

Mensagem por JoséQuintas »

Talvez seja só windows 32 bits, sei lá
Estamos falando dos fontes existentes na pasta src/3rd/png, que faz parte do haurbour
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/
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Harbour atualização 13/02/2024

Mensagem por sygecom »

Aqui vou seguindo com minhas milhares e centenas de mudanças que preciso fazer para compilar com Harbour+Mingw 32 bits. Acredito que em breve vou chegar no resultado alcançado e, volto a postar aqui se deu tudo certo.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour atualização 13/02/2024

Mensagem por JoséQuintas »

sygecom escreveu:Aqui vou seguindo com minhas milhares e centenas de mudanças que preciso fazer para compilar com Harbour+Mingw 32 bits. Acredito que em breve vou chegar no resultado alcançado e, volto a postar aqui se deu tudo certo.
Cria seu fork, faz no github, pode ser particular mas fique atento ao limite.

Dependendo do caso, consegue atualizar os fontes SEM PERDER suas mudanças.

Aqui faço isso.
Harbour sempre atualizado, mas com minhas mudanças.
E de quebra, backup de graça nas núvens.
change.png
Note que minhas alterações velhas estão depois das oficiais, mesmo sendo velhas.
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/
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Harbour atualização 13/02/2024

Mensagem por sygecom »

Já uso o GITHUB para vários projetos, as mudanças que preciso fazer é no meu sistema mesmo kkkkkkk em xHarbour ele aceitava muita coisa errada, apesar de não dar problema.

Mas estou avançando, esse ano, quero ainda ter uma versão beta do meu sistema em Harbour, ainda em muito o que ajustar e muito mais pra testar
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
marco.prodata
Usuário Nível 3
Usuário Nível 3
Mensagens: 238
Registrado em: 30 Nov 2018 10:07
Localização: Caratinga

Harbour atualização 13/02/2024

Mensagem por marco.prodata »

sygecom escreveu:Já uso o GITHUB para vários projetos, as mudanças que preciso fazer é no meu sistema mesmo kkkkkkk em xHarbour ele aceitava muita coisa errada, apesar de não dar problema.

Mas estou avançando, esse ano, quero ainda ter uma versão beta do meu sistema em Harbour, ainda em muito o que ajustar e muito mais pra testar
Usa SQLRDD? se sim, realmente vai dar um trabalhinho, convertemos alguns sistemas da empresa recentemente para harbour com sqlrdd, e tem alguns recursos que não funcionam.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Harbour atualização 13/02/2024

Mensagem por sygecom »

Uso sim mestre SQLRDD e, fiz alguns testes já com a versão do SQLRDD para Harbour que o Marcos Gambeta adaptou.
https://github.com/marcosgambeta/sqlrddpp

Ainda não cheguei nos testes com SQLRDD, estou ainda apanhando para compilar tudo, tem muita coisa ainda pra ajustar na compilação ainda.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
marco.prodata
Usuário Nível 3
Usuário Nível 3
Mensagens: 238
Registrado em: 30 Nov 2018 10:07
Localização: Caratinga

Harbour atualização 13/02/2024

Mensagem por marco.prodata »

sygecom escreveu:Uso sim mestre SQLRDD e, fiz alguns testes já com a versão do SQLRDD para Harbour que o Marcos Gambeta adaptou.
https://github.com/marcosgambeta/sqlrddpp

Ainda não cheguei nos testes com SQLRDD, estou ainda apanhando para compilar tudo, tem muita coisa ainda pra ajustar na compilação ainda.
Já te adianto que alguns recursos como dar SET INDEX em uma query não funciona, assim como CONNECTION no comando USE quando o app trabalhar com mais que um banco de dados, vai precisar usar o sr_setConnection sempre antes.
Outro detalhe, o seguinte código abaixo não funciona:
xQuery = "select codigo, nome from cliente"
use &xQuery // esse use direto em uma string com query não funciona

precisa trocar por
dbUseArea(.F., "SQLRDD", xquery, "cliente" )

essa parte foi a mais chata no código porque usavamos muito.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour atualização 13/02/2024

Mensagem por JoséQuintas »

sygecom escreveu:estou ainda apanhando para compilar tudo, tem muita coisa ainda pra ajustar na compilação ainda.
Não consigo imaginar como poderia ser tão diferente.
Está usando mesmos fontes pros dois, ou duplicou tudo pra testar ?
Eu usaria mesmos fontes, assim fica tudo sempre atualizado, sem o risco de ter que mexer quando colocar em prática.
Isso é possível, às vezes mais fácil do que se imagina.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour atualização 13/02/2024

Mensagem por JoséQuintas »

marco.prodata escreveu:Outro detalhe, o seguinte código abaixo não funciona:
xQuery = "select codigo, nome from cliente"
use &xQuery // esse use direto em uma string com query não funciona

precisa trocar por
dbUseArea(.F., "SQLRDD", xquery, "cliente" )

essa parte foi a mais chata no código porque usavamos muito.
Não faço a menor idéia sobre SQLRDD, mas visivelmente está errado mesmo, essa mania de usar macro pra tudo é péssima.
Eu tentaria algo deste tipo

Código: Selecionar todos

USE ( xQuery ) ALIAS cliente VIA SQLRDD
É chute, nunca fez parte do meu uso isso de RDD, e muito menos SQLRDD.
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/
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Harbour atualização 13/02/2024

Mensagem por sygecom »

marco.prodata escreveu:
sygecom escreveu:Uso sim mestre SQLRDD e, fiz alguns testes já com a versão do SQLRDD para Harbour que o Marcos Gambeta adaptou.
https://github.com/marcosgambeta/sqlrddpp

Ainda não cheguei nos testes com SQLRDD, estou ainda apanhando para compilar tudo, tem muita coisa ainda pra ajustar na compilação ainda.
Já te adianto que alguns recursos como dar SET INDEX em uma query não funciona, assim como CONNECTION no comando USE quando o app trabalhar com mais que um banco de dados, vai precisar usar o sr_setConnection sempre antes.
Outro detalhe, o seguinte código abaixo não funciona:
xQuery = "select codigo, nome from cliente"
use &xQuery // esse use direto em uma string com query não funciona

precisa trocar por
dbUseArea(.F., "SQLRDD", xquery, "cliente" )

essa parte foi a mais chata no código porque usavamos muito.
Obrigado pelas dicas, vou revisar esses pontos.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Harbour atualização 13/02/2024

Mensagem por sygecom »

JoséQuintas escreveu:
sygecom escreveu:estou ainda apanhando para compilar tudo, tem muita coisa ainda pra ajustar na compilação ainda.
Não consigo imaginar como poderia ser tão diferente.
Está usando mesmos fontes pros dois, ou duplicou tudo pra testar ?
Eu usaria mesmos fontes, assim fica tudo sempre atualizado, sem o risco de ter que mexer quando colocar em prática.
Isso é possível, às vezes mais fácil do que se imagina.
Eu também pensei que seria fácil kkkkkkkk
Mas vamos a alguns pontos que no xharbour passa de boa e no habour não.

1-STR() usando 4 parametro da erro no harbour, mesmo usando hbcompat.ch da erro de compilação
2-Tinha muitos código com uma virgula a mais desnecessário, que nem o exemplo abaixo, isso no xharbour passa na compilação e não da erro na execução, no harbour nem compila.
IF( EMPTY(cCODdes),showmsg('1'),showmsg('2'),)
3-Outro erro com IF na mesma linha que não compila, nesse caso ai ultimo .T. não servia para nada, o xharbour caga pra isso, mas o harbour não deixa.
IF(:oBr1:aArray[1,3]='DELETA',ADEL(:oBr1:aArray,1,.T.),.T.)
4-Já uso em xharbour /w2 e /es2, mas no xharbour variáveis sem uso ele compila sem erro, no harbour pede para eu remover variáveis declarada que não estão sendo usadas.
5-Tenho varias rotinas em .C usando no sistema, abaixo um exemplo que da erro ao compilar com Harbour:

Código: Selecionar todos

#IfDef __XHARBOUR__
#pragma BEGINDUMP

   #pragma comment( lib, "shell32.lib" )
   #include "hbapi.h"
   #include <windows.h>
   HB_FUNC( _OPENHELPFILE_DLL )
   {
     HINSTANCE hInst;
     LPCTSTR lpPath = (LPTSTR) hb_parc( 1 );
     LPCTSTR lpHelpFile = (LPTSTR) hb_parc( 2 );
     hInst = ShellExecute( 0, "Runas", lpHelpFile, 0, lpPath, SW_SHOW );
     hb_retnl( (LONG) hInst );
     return;
   }
#pragma ENDDUMP
#endif
Nesse caso subistitui por function nativa do harbour
!wapi_IsUserAnAdmin() // se não for um usuário ADMIN
wapi_ShellExecute_Wait( Nil, "runas", cHelpFile, nil )

6-No xharbour uso o END para finalizar um WITH OBJECT, uso para o TRY/CATH e no lugar do ENDIF, todos da certo, no Harbour pede para eu declarar cada um com seu finalizador, claro isso quando está no mesmo código tudo misturado.

E tem mais outras centenas que estou resolvendo aos poucos
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Harbour atualização 13/02/2024

Mensagem por sygecom »

Estou com um problema estranho, na hora de compilar com harbour uso: hbmk2 -xhb sistema.hbp e, está me dizendo que está faltando as lib abaixo, mas todas existe com HB no nome da frente na minha pasta, agora por que ele está enendendo outro nome pras LIB que está me deixando doido aqui.

cannot find -ldebug: No such file or directory
cannot find -lvm: No such file or directory
cannot find -lrtl: No such file or directory
cannot find -llang: No such file or directory
cannot find -lcodepage: No such file or directory
cannot find -lrdd: No such file or directory
cannot find -lusrrdd: No such file or directory
cannot find -ldbfntx: No such file or directory
cannot find -ldbfcdx: No such file or directory
cannot find -ldbfnsx: No such file or directory
cannot find -ldbffpt: No such file or directory
cannot find -lrdd: No such file or directory
cannot find -lhsx: No such file or directory
cannot find -lmacro: No such file or directory
cannot find -lpp: No such file or directory
cannot find -lcommon: No such file or directory
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
marco.prodata
Usuário Nível 3
Usuário Nível 3
Mensagens: 238
Registrado em: 30 Nov 2018 10:07
Localização: Caratinga

Harbour atualização 13/02/2024

Mensagem por marco.prodata »

Por qual motivo tá usando o -xhb na compilação? Se for pra adicionar a compatibilidade com o xharbour é só usar o xhb.hbc.
marco.prodata
Usuário Nível 3
Usuário Nível 3
Mensagens: 238
Registrado em: 30 Nov 2018 10:07
Localização: Caratinga

Harbour atualização 13/02/2024

Mensagem por marco.prodata »

Aparentemente tem um bug nessa opção -xhb, olha a diferença dos comandos utilizados quando usa o -xhb e quando não usa:

Código: Selecionar todos

E:\PROJXHARB\harbour>hbmk2 teste -xhb -traceonly
hbmk2: Linha de comando do Harbour:
e:\harbour\bin\harbour.exe -n teste.prg -oC:\Users\marco\AppData\Local\Temp\hbmk_fogsui.dir\ -ie:\harbour\include
hbmk2: Comando do compilador C/C++:
gcc.exe -c -O3 -D__USE_MINGW_ANSI_STDIO=0  -W -Wall -pipe -Ie:/harbour/include C:/Users/marco/AppData/Local/Temp/hbmk_fogsui.dir/teste.c
hbmk2: Comando do Linkeditor:
gcc.exe C:/Users/marco/AppData/Local/Temp/hbmk_fogsui.dir/teste.o    -mconsole -Wl,--start-group -ldebug -lvm -lrtl -llang -lcodepage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lrdd -lusrrdd -ldbfntx -ldbfcdx -ldbfnsx -ldbffpt -lrdd -lhsx -lhbsix -lmacro -lpp -lcommon -lwinmm -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lmapi32 -limm32 -lmsimg32 -lwininet   -Wl,--end-group -oteste.exe  -Le:/harbour/lib/win/mingw64

E:\PROJXHARB\harbour>hbmk2 teste -traceonly
hbmk2: Harbour compiler command (built-in):
(e:\harbour\bin\harbour.exe) -n2 teste.prg -oC:\Users\marco\AppData\Local\Temp\hbmk_7febst.dir\ -ie:\harbour\include
hbmk2: Comando do compilador C/C++:
gcc.exe -c -O3 -D__USE_MINGW_ANSI_STDIO=0  -W -Wall -pipe -Ie:/harbour/include C:/Users/marco/AppData/Local/Temp/hbmk_7febst.dir/teste.c
hbmk2: Comando do Linkeditor:
gcc.exe C:/Users/marco/AppData/Local/Temp/hbmk_7febst.dir/teste.o    -mconsole -Wl,--start-group -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainstd -lwinmm -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oteste.exe  -Le:/harbour/lib/win/mingw64

pode ser que seja necessário na compilação do harbour compilar com algum parametro diferente para que as bibliotecas não tem o "hb" na frente do nome do arquivo.
Responder