Clipper On Line • Ver Tópico - Usando (x)Harbour e LIBs

Usando (x)Harbour e LIBs

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

Moderador: Moderadores

 

Usando (x)Harbour e LIBs

Mensagempor JoséQuintas » 26 Mar 2017 14:23

Parece que isso ainda causa confusão.

Tinha o Clipper.
O Clipper era compilado com determinada linguagem C.
Precisávamos LIBs compativeis com o Clipper/linguagem C já embutida no Clipper.

Tem o xHarbour.
Podemos usar, por exemplo, com BCC.
Se quisermos usar fivewin, vamos precisar das LIBs do fivewin pra xHarbour+Bcc

Tem o Harbour
Podemos usar, por exemplo, com BCC
Se quisermos usar fivewin, precisamos das LIBs do fivewin pra Harbour + BCC

O Harbour tem o HBMK2 que facilita compilação.
Ele não faz mágica, ele vai precisar por exemplo, do Harbour, compilador BCC, e LIBs do fivewin pra Harbour+BCC

O mesmo acontece com HMG, HMG Extended, GTWVG, HWGUI, QT, etc.

O conjunto INTEIRO precisa ser compatível.
Deve ser levado em conta pra compatibilidade:
- Harbour 3.2, 3.4 ou xHarbour
- Compilador C - msvc, bcc, mingw
- Biblioteca: o que ela aceita dos ítens acima

O resto... alguma incompatilidade adicional, dá-se um jeito

Então vamos lá, do que conheço:

Harbour 3.4: Não aceita BCC, então não adianta querer usar BCC ou LIB que só aceite BCC
HMG: Não aceita MSVC, então não adianta querer usar MSVC
OOHG: Não aceita MSVC 2010, então não adianta querer usar MSVC 2010
LIBUI: Só aceita MSVC 2013
Fivewin liberado grátis: só aceita BCC e talvez só xHarbour (sinceramente não sei se tem pra Harbour)

Quer usar esse fivewin grátis? se só aceita xHarbour e BCC, não adianta querer usar no Harbour, ou mingw, ou msvc
Quer usar HMG? não adianta Harbour com msvc
Quer usar lIBUI? só se usar msvc 2013

Tem Harbour e mingw:
Ok, pode usar HMG, HMG Extended, OOHG, HWGUI.
E talvez precise ajustar diferenças entre Harbour 3.2 e 3.4, dependendo do Harbour que queira usar.

É todo conjunto que deve ser analisado.

Como usar Harbour + LIB:

Isso é tradicional:

Seus fontes: poderia indicar *.prg
os arquivos de include: indicar a pasta aonde eles estão, pode ser mais de uma
as LIBs: indicar o nome da lib e a pasta, pode ser mais de uma

Exemplos:

hbmk2 \aplicativo\*.prg -i\hmg\include -lhmg3-L\hmg\lib

fivewin tem 3 libs, ok, indicar as tres libs, mas todas estão na mesma pasta:

hbmk2 \aplicativo\*.prg -i\hwgui\include -lhwgui -lprocmis -lxml -L\hwgui\lib

gtwvg tem um arquivo pronto que já indica tudo o gtwvg.hbc

hbmk2 \aplicativo\*.prg gtwvg.hbc

Não há como fugir disso:
é indicar pastas de include, pastas de lib, e nomes de libs.
tudo precisa estar na mesma versão de compilador (x)Harbour, e na mesma versão de compilador C.

Importante também:
Não basta pegar um Harbour pronto e colocar o compilador C que quiser.
Também precisa das LIBs do Harbour compatíveis com esse compilador C.
Se o Harbour veio pronto pra mingw, é pra mingw que ele está pronto, e tem LIBs pra mingw.

E importante:
Como dá pra perceber, a variação de combinações pode ser grande.
Eu mesmo, não faço a menor idéia do que é preciso pra usar XHarbour, e nem me importo, porque NÃO USO XHarbour.

Cada um deve conhecer o que usa.
Mas deve conhecer esse conceito básico, para o caso de querer trocar as ferramentas de uso.
É preciso ter todo conjunto compatível.
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: 18141
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usando (x)Harbour e LIBs

Mensagempor JoséQuintas » 26 Mar 2017 14:38

E se esquecer de alguma coisa...
A linquedição vai reclamar do que falta (ou sobra).
É olhar as mensagens de erro do que falta, e tentar identificar ao que pertence.
o HBMK2 dá uma ajuda nisso, se fizer parte das LIBs do Harbour.
O que não fizer parte do Harbour, cabe a você identificar.
Vai acrescentando no HBP, até não reclamar de mais nada.

pode ser arquivo, pode ser indicação de pasta, pode ser algum parâmetro a mais.
Tudo depende da mensagem que aparecer depois.

Se está testando um exemplo em HWGUI.... ja sabemos que vai precisar pasta de include da hwgui, nomes das libs da hwgui, e pasta das libs da hwgui.

Não é tão complicado, basta seguir o que aparece nas mensagens de erro.

E o que sobrar, de repente pesquisar no HD se tem aquele nome em algum lugar.
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: 18141
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usando (x)Harbour e LIBs

Mensagempor JoséQuintas » 26 Mar 2017 19:36

E tem os imprevistos.
HWGUI pode ser usada com msvc2010, mas se for adicionado o contrib\activex, já não pode mais, porque essa contribuição não compila com msvc2010.

Fiz o teste agora com mingw e msvc 2010:

HWGUI somente mingw
OOHG somente mingw
HMG3 somente mingw
HMG Extended: mingw ou msvc 2010:

Se retirar algumas contribs de hwgui, ok com msvc2010

Por isso acaba sendo interessante usar mingw, por ser mais "universal".
E por isso confundo o que realmente faz parte de cada lib, já que tem contrib de hwgui que não compila com msvc2010.

No caso da allgui, tá visível o resultado.
Uso Harbour 3.4, que não aceita bcc, então nem testei com bcc.

 Pasta de d:\CVSFiles\allgui\lib\win\msvc

26/03/2017  19:17    <DIR>          .
26/03/2017  19:17    <DIR>          ..
26/03/2017  19:17         4.574.854 hmgs.lib

Pasta de d:\CVSFiles\allgui\lib\win\mingw

26/03/2017  19:31    <DIR>          .
26/03/2017  19:31    <DIR>          ..
26/03/2017  19:25         2.048.066 libhmg3.a
26/03/2017  19:28         2.562.864 libhmgs.a
26/03/2017  19:29         1.341.406 libhwgui.a
26/03/2017  19:31         2.223.496 liboohg.a


hmg3 = hmg 3.4.3
hmgs = hmg extended
hwgui = hwgui 2.20
oohg
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: 18141
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usando (x)Harbour e LIBs

Mensagempor asimoes » 26 Mar 2017 21:41

Quintas,

Na versão 2.17 a activex compila com MSVC 2010
â–º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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usando (x)Harbour e LIBs

Mensagempor asimoes » 26 Mar 2017 21:44

Quintas,

Sei que a versão atual da HwGui é 2.20, mas não consegui reproduzir o funcionamento que eu tenho na 2.17, relacionado a mudança automática de campo get com enter e no último get o enter dar o foco para o botão Ok é isso que queria que funciona-se como na 2.17
â–º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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Usando (x)Harbour e LIBs

Mensagempor JoséQuintas » 26 Mar 2017 22:01

Chegou a tentar comparar as mudanças como falei em outro post?
Ou postou no fórum de hwgui?
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: 18141
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usando (x)Harbour e LIBs

Mensagempor JoséQuintas » 26 Mar 2017 23:36

Tentei achar o outro post mas não encontrei.
Lembro que era algo relacionado a um parâmetro CLIPPER.
Se for isso, a 2.18 já tinha, o que pode facilitar a pesquisa.
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: 18141
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usando (x)Harbour e LIBs

Mensagempor JoséQuintas » 26 Mar 2017 23:49

Fiz a montagem no github pra obter diferença entre versões.
Agora é tentar identificar essa mudança que está dizendo.

Pode salvar local e verificar pelo git windows.

http://www.pctoledo.com.br/forum/viewtopic.php?f=43&t=18189&p=114802#p114802
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: 18141
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Usando (x)Harbour e LIBs

Mensagempor asimoes » 27 Mar 2017 13:45

Quintas,

Ai entra a questão do legado que foi descartado nos obrigando a alterar o código para fazer o que a versão anterior fazia.
Imagina você ter um usuário que tá acostumado com enter, enter e enter e agora dizer pra ele que no último get vai quer que usar o mouse, parece simples mas tem usuário que é chato, imagina 1000 usuários e 100 reclamando, rs

A minha validação está no botão Ok, por isso eu não me preocupo com o que o usuário digitou no botão Ok valido tudo no botão e volto o foco onde está errado.
â–º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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 10 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