Calvario migrar de xHarbour para Harbour
Enviado: 28 Jun 2014 12:17
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:
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.
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!
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!

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!
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...
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
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 $
Ae o Itamar mim mandou sua hwgui ja compilada!
Código: Selecionar todos
* $Id: Changelog 2082 2013-06-19 13:16:05Z druzus $
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!

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
- 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...