XHarbour

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

XHarbour

Mensagem por JoséQuintas »

Alguém sabe dizer se o XHarbour que é distribuído é exatamente igual aos fontes?
Por acaso o que vém com HMG, Fivewin, etc. é diferente do oficial?
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

XHarbour

Mensagem por JoséQuintas »

Minha idéia é gerar um XHarbour com os recursos do Harbour.
NÃO é modificar o XHarbour.

XHarbour é igual Harbour, apenas seguiram caminhos diferentes, igual aconteceu com 3.2 e 3.4, mas como faz tempo aconteceu isso com o XHarbour, as diferenças ficaram maiores.
Mas..... o básico continua o mesmo, e o HBMK2.EXE pode ser o mesmo.

O que precisa?
Criar arquivos HBC e HBX, basicamente recompilar as contribs com a ajuda do HBMK2.
Isso NÃO é alterar o XHarbour, é apenas ter arquivos a mais, que não tem hoje.
Também podemos organizar pastas, igual no Harbour, conforme o compilador C.

A partir desse ponto teremos Harbour e XHarbour funcionando exatamente igual - no que diz respeito a compilar.
O mesmo XHarbour de sempre, apenas podendo usar as ferramentas do Harbour.

Porque isso nunca foi feito?
É simples:
- Existe o XHarbour comercial, que é vendido, eles NUNCA vão querer usar ferramentas do Harbour, mesmo que isso seja bom para os usuários.
- Existe o fivewin, que acaba mantendo compatibilidade com o XHarbour comercial.... e o mesmo motivo.

O Harbour 3.4 não esqueceu do XHarbour, e nem mesmo do Borland C, ele apenas não gera a versão oficial pra isso porque ninguém se interessou em fazer os ajustes, mas o HBMK2 continua compatível.
Aliás, pra quem ainda não viu, o HBMK2 pode ser usado pra Harbour 3.4, Harbour 3.2, Harbour 3.0, Harbour 2.0, Harbour 1.0 e XHarbour
Só faltou ele funcionar pra Clipper... até seria interessante....

Todo conjunto de bibliotecas padrão do XHarbour é o mesmo conjunto do Harbour, por isso o HBMK2 resolve.
O que altera são as contribuições, mas isso pode ser resolvido com um HBC.

E pronto.

E as bibliotecas HMG, HMG Extended, OOHG, fivewin, etc ?
Continua tudo igual.

E os HBPs?
Serão os mesmos. Um recurso do HBP/HBMK2 é indicar se aquilo é pra Harbour ou XHarbour.

Digamos que em XHarbour precise da LIB minhoca, e no Harbour precise da LIB lombriga
Como fica isso no HBP?

Código: Selecionar todos

{xhb}-lminhoca
{!xhb}-llombriga
Digamos que no MSVC precise adicionar a LIB minhoca, mas no BCC precise a LIB lombriga

Código: Selecionar todos

{msvc}-lminhoca
{bcc}-llombriga
Digamos que em Windows precise da LIB minhoca, mas no Linux precise da LIB lombriga
Duas opções, só precisaria uma abaixo, mas colocar as duas

Código: Selecionar todos

{win}-lminhoca
{!win}-llombriga
{linux}-llombriga
E por aí vai.

O uso de HBMK2.EXE simplifica muita coisa, e dá pra usar no XHarbour tranquilamente.
Se for o caso, pra não ter que digitar -xhb no XHarbour, podemos alterar o fonte do HBMK2.EXE adicionando isso caso ele esteja na pasta do XHarbour

Código: Selecionar todos

IF "xharbour" $ hb_ProgName()
   AAdd( aParamList, "-xhb" )
ENDIF
Adicionando 3 linhas no fonte do HBMK2, podemos deixá-lo mais fácil ainda para o XHarbour. só pra não ter que digitar -xhb na linha de comando.

Podemos ter Harbour e XHarbour na mesma máquina, podemos compilar com qualquer dos dois, podemos usar vários compiladores C, e sempre digitando a mesma coisa - apenas indicando se quisermos diferente do padrão.

Vantagem:
Todos do fórum vão estar compilando exatamente igual, não importa o que cada um usa.

E os recursos do HBMK2 vão longe: mostrar aonde está uma determinada função, criar programas multi-idioma, criar projeto universal pra qualquer compilador C, criar LIBs, usar multi compilador C, 32 ou 64 bits, etc.

Acho que vale a pena a gente unificar isso.
Talvez o resto do mundo siga o exemplo, talvez não, não importa.

Para o XHarbour tá mais fácil, já que ele não se altera.
Para as LIBs... a parte chata é ficar atualizando, mas poderia ser feito o mesmo pra HMG, HMG Extended, OOHG, e HWGUI (tem pra xHarbour?)

NÃO é modificar os fontes, é apenas usar HBMK2 e os recursos que ele oferece.

Quem se interessar, e quiser fazer os testes práticos, é só avisar.

Vocês do XHarbour não sabem o que estão perdendo....

Lógico... quem tá acostumado a usar BAT pronto, e nem sabe como a compilação funciona, não vai ver diferença.
Pode até ver muito problema resolvido, mas vai continuar sem saber o que acontece.
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/
Responder