Página 1 de 2
Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 01 Set 2010 14:18
por lugab
Ola masters do fórum,
Tenho um sisteminha clipper, que converti com sucesso para o xharbour 1.0 , em modo texto..
Agora, estou aqui tentando compilar ele no HARBOUR 2.0, pois, todo mundo aqui do fórum vem nos alertando que o xharbour já era...
Então, as seguintes libs, não existem no Harbour com este nome. Gostaria q vcs me ajudassem e informassem qual o nome correto delas , ao usar o Harbour..
- Pcrepos.lib
- Dbfcdx.lib
- Dbfntx.lib
- Dbffpt.lib
Na compilação também foi relatado a ausência das funções abaixo.
- Hb-Fun-PrintFileraw
- Hb-Fun_Win32prn
- Hb_Fun_getprinters
- Hb_Fun_Defaults
- Hb_Fun_OpenProcess
Possivelmente, essas funções acima fazem parte de alguma dessas libs que faltam no harbour ou, simplesmente elas mudaram de nome.
Gostaria q vcs me dissessem em qual lib do HARBOUR 2.0 eu encontro essas funções.
Grato a todos,
GAbriel
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 01 Set 2010 15:51
por Stanis Luksys
Olá,
Pode ser que o pessoal mais atualizado mate a charada só de ver os nomes, mas seria interessante você dizer como você compila quando usa o XHarbour e como compila quando usa o Harbour. Se possível copie seu(s) script(s) de compilação aqui.
*****CORRIGINDO*****/:
Provavelmente o nome das LIBs que você procura são neste formato
rddntx.lib, mas não tenho certeza.
Eu estava errado no que havia escrito (por isso apaguei), as LIBs estão todas aqui sim, verifique se corresponde com as que você possue, desconsiderando o "lib" no começo do nome dos arquvos.
Código: Selecionar todos
libhbcpage.a libhbnortl.a libhbxbp.a
libgtcgi.a libhbcplr.a libhbnulrdd.a libhbziparc.a
libgtcrs.a libhbct.a libhbpcre.a liblibhpdf.a
libgtpca.a libhbdebug.a libhbpp.a liblibpng.a
libgtsln.a libhbextern.a libhbrdd.a librddcdx.a
libgtstd.a libhbgt.a libhbrtl.a librddfpt.a
libgttrm.a libhbhpdf.a libhbsix.a librddnsx.a
libharbour-2.0.0.so* libhbhsx.a libhbsms.a librddntx.a
libharbourmt-2.0.0.so* libhblang.a libhbsqlit3.a librddsql.a
libharbourmt.so@ libhbmacro.a libhbtip.a libsqlite3.a
libharbour.so@ libhbmemio.a libhbtpathy.a libxhb.a
libhbbmcdx.a libhbmisc.a libhbuddall.a libxpp.a
libhbbtree.a libhbmzip.a libhbusrrdd.a
libhbclipsm.a libhbnetio.a libhbvm.a
libhbcommon.a libhbnf.a libhbvmmt.a
As funções impressora, me parece que estão na
hbwin do contrib. Não sei pra que serve, e provavelmene por estar no linux, não foi gerada aqui.
Abraços!
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 01 Set 2010 17:20
por jairfab
Ja que voce vai mudar , por que ja nao utiliza a versao 2.1 que vem junto com a minigui extend, a funcao win32prn vai mudar de nome e so voce altera em um arquivo ch muintas funcoes do xharbour a mesma vem com nome diferente no harbour.
As libs voce pode compilar ... mas voce perceber que tem librddcdx.a librddfpt libhbpcre.a etc...
o leonardo ja postou aqui no forum o nome da função correspondente da class winprn
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 01 Set 2010 18:27
por lugab
Obrigado Stanio e Jaifab
Jairfab , o que eu localizei na pasta do meu Harbour 2, foi:
Rdcdx.lib
Rdntx.lib
e
Rdfpt.lib
É diferente dos nomes q vc postou: LibRddCdx.lib LibRddntx.li e Librddfpt.lib
1- Serã que são a mesma coisa ?
2-Nao achei a lib correspondente a Pcrepos.lib
3-Tb não achei nada que tenha as classes win32prn..
Não sei como vcs conseguem usar o harbour, com toda essa carência de informações..
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 02 Set 2010 12:40
por Stanis Luksys
Olá,
jairfab escreveu:
É diferente dos nomes q vc postou: LibRddCdx.lib LibRddntx.li e Librddfpt.lib
1- Serã que são a mesma coisa ?
Stanis Luksys escreveu:...verifique se corresponde com as que você possue, desconsiderando o "lib" no começo do nome dos arquvos.
lugab escreveu:3-Tb não achei nada que tenha as classes win32prn..
Stanis Luksys escreveu:As funções de impressora, me parece que estão na hbwin do contrib. Não sei pra que serve, e provavelmene por estar no linux, não foi gerada aqui.
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 02 Set 2010 16:22
por lugab
Gracias, Stanis..
Obrigado por repetir sua resposta, pq eu falhei em não esmiuçar ela..
Coloquei a HBWIN.LIB e finalmente apareceu a função Win32Prn()
Tb achei e ja to compilando com as libs Rddcdx.lib e a Rddntx.lib.
Ainda falta descobrir qual a lib do harbour que corresponde a
Pcrepos.lib
É que ainda falta achar as funções:
hb_fun_Openprocess e hb_fun_Default e, provavelmente, essas 2 funções que ainda faltam, se encontram nessa lib, né
gabriel
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 02 Set 2010 18:51
por Stanis Luksys
Olá,
Olhando aqui, me parece que a função foi apenas renomeada para hb_processOpen() . Você pode usar um translate para corrigir isso. Acho que se você usar aquele cabeçalho tradutor que o clrod escrevou no outro tópico, deve resolver.
E essa função Default(), você usa pra alguma coisa? Segundo lí no guia do xharbour, essa função só serve pra atribuir um valor padrão numa variável. Talvez dê pra você fazer um translate também, caso já não tenha naquele arquivo tradutor.
Abraços!
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 02 Set 2010 20:19
por lugab
Isso mesmo, Stanis.
No Harbour, O nome mudou para hb_processOpen().
Agora, sobre a função Default(), eu não sei o q fazer, pois me faltam recursos técnicos, pra isso.
A função está nas linhas de comando abaixo e eu sei q vou ter q substitui-las:
gabriel
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 02 Set 2010 22:52
por Stanis Luksys
Opa,
Como eu disse, o que essa função faz é apenas atribuir um valor para uma variável, que é passada por referência.
Não posso garantir porque só tenho aqui o código do Harbour, mas provavelmente se você criar algo assim, já deveria resolver:
Código: Selecionar todos
Function default( xvar, xvalor )
xvar = xvalor
Return NIL
Cara, não tenho certeza disso, mas tente desta forma e nos diga se deu certo...
Um outra forma seria achar essa função lá nos fontes do xHarbour e agregar em alguma lib sua, ou mesmo do harbour, e recompilar.
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 03 Set 2010 00:49
por lugab
Valeu, Stanis..
Vou fazer isso mesmo. Vou olhar os fontes do abandonado xharbour e se não achar a dito-cujo, aproveito sua CONTRIB ao harbour...
Qdo conseguir, eu vou postar aqui, pra servir a outros trainees "a la eu", q vem neste fórum aprender com vcs...
Muito obrigado por tudo,
Gabirel
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 03 Set 2010 03:20
por clrod
Olá
Vocês estão carregando a xhb.lib na compilação? E o xhb.ch?
Já deram uma olhada na hbcompat.ch? Lá dá para entender muita coisa do que muda e lá inclusive traduz o openprocess p/ processopen e viceversa, já que o ch é para traduzir do Harbour p/ o xHarbour também.
Se não quiser criar uma função para a default, pode usar algo assim: (não testei, fiz agora)
#xcommand default(@<v1>, <x1>) => IF <v1> == NIL ; <v1> := <x1> ; END ;
ou
#xtranslate default(@<v1>, <x1>) => Iif(<v1> == NIL , (<v1> := <x1>), NIL)
Para funcionar como função em qualquer lugar.
Isso é o que essa função defalut deveria fazer.
Ou pode usar o comando DEFAULT <xVar> TO <valor> [, xVarN TO xValorN] que já estã definido no Harbour.
T+
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 03 Set 2010 10:34
por lugab
Obrigado, Clrod, e Stanis.
A inclusão de xhb.lib E xhb.ch, permitiu ao compilador traduzir o Openprocess() bonitinho.
E pesquisando na hbcompat.ch, constatei que default() virou Hdefault()
Agora deu zero erro e tudo é só alegria..
Ja executei e percebi que o Dbedit() se comporta de forma estranha, bem diferente de como se comportava no xharbour()
Mas isso agora é uma outra história, a se desvendar o enredo.
Grato a todos
Gabriel
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 03 Set 2010 12:33
por clrod
Olá
HDefault não é outra coisa, é um Default para uma estrutura do tipo Hash, por isso o H no início.
O Dbedit do Harbour é compatível como Clipper e não com o xHarbour.
T+
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 03 Set 2010 17:25
por lugab
Clrod, desculpe, mas eu não entendi.
Como assim "O Dbedit do Harbour é compatível como Clipper e não com o xHarbour." ?
Tu pode explicar , num nível um pouco mais baixo ?
Re: Migrando de Xharbour 1.0 para Harbour 2.0...
Enviado: 03 Set 2010 18:47
por clrod
Olá
O Harbour faz o que fazia no Clipper ao contrário do xHarbour que modificou a comportamento de várias funções. A preocupação do Harbour é ser 100% compatível com Clipper e extender a linguagem com funcionalidade nova não alterar o que já existe.
T+