Página 1 de 1

Calvario migrar de xHarbour para Harbour

Enviado: 28 Jun 2014 12:17
por janio
Eita eita negada! pensei q seria osso duro migrar de xharbour para harbour, mas nem tanto assim ne.

Vou contar meu calvario pq sei q tem muita gente q tenta e passa pelas mesmas coisas q estou passando e, assim como eu, ainda não tem solução.

Para migrar, sempre soube q tinha 4 abacaxis pra resolver:
- hwgui
- gtwvw
- harbourBoleto
- mediator

Pois bem, baixei o harbour 3.2 (dizem ser a vs mais estavel), compilei-o e sem erros. Ótimo!

Primeiro abacaxi:
Fiz um pequeno exemplo teste para usar o mediator, em sua versao 5.2. Apenas ver se conectava ao banco mysql. Compilava sem erros mas ao executar o binario, errrooooooo de gpf! Depois de muito quebrar a cabeça e quase pirar procurando erro, acrescentei ao prg:

Código: Selecionar todos

request medntx
Pronto, era so isso o motivo do gpf. FUNCIONOU! Primeiro abacaxi resolvido!

Segundo abacaxi:
Tentei compilar a vs da hwgui q tenho aqui e q a uso ha mais de 2 anos sem problemas.

Código: Selecionar todos

 * $Id: Changelog 1925 2012-10-29 20:50:52Z lfbasso $
Nao consegui! O harbour3.2 dava apenas AVISOS (sem erros), mas mesmo assim não gerava a lib.

Ae o Itamar mim mandou sua hwgui ja compilada!

Código: Selecionar todos

 * $Id: Changelog 2082 2013-06-19 13:16:05Z druzus $
Essa versao ja contem as mudanças dos nomes das funções (acrescentado wvg_ antes das funções)!

Problema resolvido com a hwgui??? DE JEITO NENHUM! veremos pq logo abaixo...

Terceiro abacaxi:
Até que consegui compilar a gtwvw sem erros! Mas ao anexar a lib em qq projeto, nao compilava dando erro numa função interna da wvw. Depois de novamente quase ficar maluco, mudei uma linha do fonte da wvw e finalmente essa lib passou a funcionar.

Mas num bastava funcionar wvw e hwgui separadamente. As duas tinham q funcionar juntas assim como ja as uso em xharbour. Ae vem os problemas...

Um fonte simples em texto puro e com duas chamadas a funçoes da gtwvw (apenas para o sistema rodar num janelinha) e chamada a funções de mensgagem da hwgui (msginfo, msgstop, ...) funcionava sem problemas, mim fazendo crer que as duas estavam compativeis no harbour. Ledo engano...

A incompatibilidade das duas so ficou visivel qndo anexei ao sistema-teste-exemplo-em-texto um prg com cadastro simples em hwgui (com chamada a dialog). Isso em xharbour funciona bem. Ate que o exemplo compilava sem erros, mas ao executar.... ERRO GPF! procurei, procurei e procurei... procurei de novo, e de novo, e de novo... solução, mas não encontrei!

Solução (pensei): abandonar wvw e ir para wvg, que eh a solução menos traumática, apesar de eu ainda ter que fazer algumas modificações no sistema.

Bom, depois de quebrar a cabeça de novo tentanto fazer funcionar, primeiro a wvg compilar um exemplo sozinha (consegui), e depois fazer ela funcionar junto a hwgui. Bom, a dupla hwgui+gtwvg TBM NÃO FUNCIONOU! Mas que droga nao???

Nesse caso, o sistema compilava com as duas libs, mas ao EXECUTAR... simplesmente nao aparecia NADA na tela. Mas se abrisse o gerenciador de tarefas do windows, la estava o executavel em aberto.

esse teste pode ser feito com um fonte simpes wvg+hwgui postado pelo Toledo em:
viewtopic.php?f=4&t=11344&p=84880&hilit=exemplo+gtwvg+hwgui+harbour#p84880

gtwvw + hwgui SEM FUNCIONAR!
gtwvg + hwgui SEM FUNCIONAR!

Pensei: a lib do Itamar ta completamente incompativel para usar em conjunto com wvw e wvg!

A minha hwgui q no inicio tentei compilar e não consegui, fui atras do erro pra valer e finalmente consegui gerar a lib! Ótimo! O exemplo do Toledo acima (wvg+hwgui) q num funcionava, com a MINHA lib ja passou a funcionar!
Imagem

Conclusão: A lib do Itamar, com as ultimas modificações do russo, eh incompativel para uso junto com wvg e wvw! Pelo menos pelo q tentei aqui...

Bom, ja tenho a minha hwgui... a minha gtwvw... hwgui + wvg ja estão funcionando... so falta fazer funcionar WVW+HWGUI e partir pro abraço! La vem outra decepção!

Na compilação a versao da minha hwgui e gtwvw deram muitos erros de nomes de FUNÇÕES IGUAIS nas duas!

Código: Selecionar todos

c:/harbour32/lib/win/mingw/libhwgui.a(window.o):window.c:(.text+0x1ce0): multiple definition of `HB_FUN_SENDMESSAGE'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x1e50): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(window.o):window.c:(.text+0x35b0): multiple definition of `HB_FUN_ISWINDOW'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2040): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x2f0): multiple definition of `HB_FUN_INVALIDATERECT'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x32b0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x920): multiple definition of `HB_FUN_REDRAWWINDOW'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2ec0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0xd40): multiple definition of `HB_FUN_LOADICON'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x3760): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0xdf0): multiple definition of `HB_FUN_LOADIMAGE'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2510): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0xf10): multiple definition of `HB_FUN_LOADBITMAP'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2640): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x1020): multiple definition of `HB_FUN_WINDOW2BITMAP'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x3a00): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x1170): multiple definition of `HB_FUN_DRAWBITMAP'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x37f0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x1a50): multiple definition of `HB_FUN_GETBITMAPSIZE'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x23f0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x1b70): multiple definition of `HB_FUN_GETICONSIZE'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2490): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x1c60): multiple definition of `HB_FUN_OPENBITMAP'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2a00): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x1fc0): multiple definition of `HB_FUN_DRAWICON'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x36f0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x2030): multiple definition of `HB_FUN_GETSYSCOLOR'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2e90): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x20f0): multiple definition of `HB_FUN_CREATESOLIDBRUSH'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2dc0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x2120): multiple definition of `HB_FUN_CREATEHATCHBRUSH'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2df0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(draw.o):draw.c:(.text+0x26f0): multiple definition of `HB_FUN_OPENIMAGE'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x27f0): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(drawtext.o):drawtext.c:(.text+0x940): multiple definition of `HB_FUN_SETTEXTCOLOR'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2d40): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(drawtext.o):drawtext.c:(.text+0x980): multiple definition of `HB_FUN_SETBKCOLOR'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2d80): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(drawtext.o):drawtext.c:(.text+0xc00): multiple definition of `HB_FUN_CREATEFONT'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2f10): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(nice.o):nice.c:(.text+0x6a0): multiple definition of `HB_FUN_RGB'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2e30): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(control.o):control.c:(.text+0x3130): multiple definition of `HB_FUN_CREATEIMAGELIST'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2230): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(control.o):control.c:(.text+0x3240): multiple definition of `HB_FUN_IMAGELIST_ADD'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2340): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(control.o):control.c:(.text+0x3290): multiple definition of `HB_FUN_IMAGELIST_ADDMASKED'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x2390): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(control.o):control.c:(.text+0x3bd0): multiple definition of `HB_FUN_TOOLBARADDBUTTONS'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x3360): first defined here
c:/harbour32/lib/win/mingw/libhwgui.a(commond.o):commond.c:(.text+0x0): multiple definition of `HB_FUN_SELECTFONT'
c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o):wvwfuncs.c:(.text+0x3090): first defined here
c:/tdm-gcc-32/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: c:/harbour32/lib/win/mingw/libgtwvw.a(wvwfuncs.o): bad reloc address 0x18 in section `.rdata'
collect2.exe: error: ld returned 1 exit status
hbmk2[comp]: Erro: Executando linkeditor. 1
gcc.exe .hbmk/win/mingw/menu.o .hbmk/win/mingw/vlibwvwC.o .hbmk/win/mingw/funcoesHwGUI.o .hbmk/win/mingw/funcoes.o .hbmk/win/mingw/p00cpc.o .hbmk/win/mingw/p00cps.o .hbmk/win/mingw/p00dcai.o .hbmk/win/mingw/p00eam.o .hbmk/win/mingw/p00imp.o .hbmk/win/mingw/p00ini.o .hbmk/win/mingw/p00pws.o .hbmk/win/mingw/p00001.o .hbmk/win/mingw/p17ccre.o .hbmk/win/mingw/p17cemp.o .hbmk/win/mingw/p17dadv.o .hbmk/win/mingw/p17dbpo.o .hbmk/win/mingw/p17dlop.o .hbmk/win/mingw/p17raap.o .hbmk/win/mingw/p17rcre.o .hbmk/win/mingw/p17refc.o .hbmk/win/mingw/p17remp.o .hbmk/win/mingw/p17reop.o .hbmk/win/mingw/p17rpec.o .hbmk/win/mingw/p17rped.o .hbmk/win/mingw/p17rppc.o .hbmk/win/mingw/p17rtdc.o .hbmk/win/mingw/p16ctdc.o .hbmk/win/mingw/p16ccid.o .hbmk/win/mingw/s19csec.o .hbmk/win/mingw/s19cllt.o .hbmk/win/mingw/s19ccgo.o .hbmk/win/mingw/s19cfil.o .hbmk/win/mingw/s19rfil.o .hbmk/win/mingw/s19rcad.o .hbmk/win/mingw/s19rrfo.o .hbmk/win/mingw/s19rrfc.o .hbmk/win/mingw/s19rrfl.o .hbmk/win/mingw/s14cctt.o .hbmk/win/mingw/s14rctt.o .hbmk/win/mingw/_hbmkaut_menu.o    -Wl,--nxcompat -Wl,--dynamicbase -mwindows -Wl,--start-group -lgtwvw -lhwgui -lprocmisc -lhbxml -lhbwin -lxhb -lhbct -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 -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oTeste.exe  -Lc:/harbour32/lib/win/mingw
Proximos passos:
- Mudar o nome dessas funções iguais (não sei se isso vai resolver e se isso importa em somente acrescentar um 'wvw' nas funções da gtwvw;
- Abandonar de vez wvw e ir pra wvg (que mim dara um pouco de trabalho)

Ufa... ja to pra desistir eh de tudo.

Ah, ainda falta o QUARTO ABACAXI: Fazer funcionar o HARBOURboleto no harbour.

Vamos ver se chego la...

Calvario migrar de xHarbour para Harbour

Enviado: 28 Jun 2014 17:07
por asimoes
Janio,

Você tá no caminho certo, não é tempo perdido, já passei por isso.

Calvario migrar de xHarbour para Harbour

Enviado: 29 Jun 2014 22:15
por Itamar M. Lins Jr.
Conclusão: A lib do Itamar, com as ultimas modificações do russo, eh incompativel para uso junto com wvg e wvw! Pelo menos pelo q tentei aqui...
A lib não é minha. É a versão desta lib que eu uso. Existem n Versões.
Na compilação a versao da minha hwgui e gtwvw deram muitos erros de nomes de FUNÇÕES IGUAIS nas duas!
Por isso o Alexander acrescentou a extensão "HWG_" na versão mais nova, para evitar essa dor de cabeça.

O problema são esses "estilos" de programar que geram a longo prazo mais dor de cabeça do que solução: Mistura-se uma lib morta WVW + WVG + HWGUI.
Isso é uma coisa trabalhosa demais, pegar só a parte que vocês tem interesse. Ou pensar que é mais comodo. Somente com a Minigui ou Hwgui ou OOHG que é a mesma Minigui só que com OOP, a meu ver seria uma decisão mais correta. Misturar tudo fica complicado.

Porém eu vejo que é apenas o "CONCEITO" do "DOS" ainda enraigado. Quando começar a usar somente uma a Hwgui, Minigui... enfim a que melhor lhe agrade terminará todos esses problemas.

Saudações,
Itamar M. Lins Jr.

Calvario migrar de xHarbour para Harbour

Enviado: 30 Jun 2014 12:15
por janio
Itamar,

Todo mundo entendeu q eu quis dizer "a versão da hwgui q o Itamar usa". Todo mundo também sabe que a hwgui é dum russo, que mora na Russia, país asiático, muito frio, que tem diversas bombas atômicas e que recentemente invadiu a Ucrânia. hehehehehe

Bricandeira, Itamar! Esses dias esquentei tanto a cabeça que agora quero rir um pouco!

:)Pos :)) :|<

Serio agora...

Todo mundo tem suas razões pra continuar usando essa gambiarra toda. Nossos sistemas são bomzim, funcionam tão bem, são tão consistentes... só falta o diacho do visual. Mas... vc é programador, sabe que essa classe de gente nunca está desocupado, sempre temos toneladas de coisas pra fazer! O PROBLEMA É O TEMPO!

Sair do texto e ir pro visual, mesmo com uma lib facil como é a hwgui, NUM É TAREFA FACIL!

Como ja falei, tenho um PDV feito em hwgui. Sistema filé, visual lindo, funciona tudo que é uma maravilha. Pelo menos pra mim, a manutenção em fonte com hwgui da muito trabalho. Toda vez q tenho q mudar get's de lugar, botões, acrescentar algo... é um Deus nos acuda! Isso pq, como todos sabem, NÃO TEMOS UMA IDE que nos ajude nessa parte. Tudo é na unha.

O designer do Basso até q ajuda pra fazer o fonte, mas ele não mantém as alterações q fazemos no fonte 'por fora' do designer.

To aproveitando a migração pra harbour pra sair de vez da gtwvw, q uso pouquissimo recurso. Por enquanto, so UM BOTÃO mim separam da gtwvg.

Janio

Calvario migrar de xHarbour para Harbour

Enviado: 07 Nov 2014 17:23
por rubens
Oh Jânio...

Posta a imagem deste PDV para gente ver... idéias são sempre bem vindas ....

Obrigado

Rubens

Calvario migrar de xHarbour para Harbour

Enviado: 07 Nov 2014 19:43
por janio
telas

Calvario migrar de xHarbour para Harbour

Enviado: 07 Nov 2014 19:47
por janio
telas

Calvario migrar de xHarbour para Harbour

Enviado: 08 Nov 2014 09:11
por rubens
Blz... muito bom.... vlw

Rubens