Página 7 de 19
Convertendo Sistema do GASPRO para Harbour
Enviado: 13 Set 2012 17:49
por Toledo
Olá Jairo, segue em anexo o arquivo GASP40HB.PRG com as correções.
Incluir no XXX_PUBL.CH:
drvautohelp:=.t.
arq_:=""
Mou_Lin_S:= Mou_Col_S := Mou_Lin_I := Mou_Col_I := 0
Incluir no arquivo CH principal (NomeProjeto.ch):
#define opcoes_rel(l_m,c_m,op_rel,sos_cod,fil_ini) OPCOES_RHB(l_m,c_m,op_rel,sos_cod,fil_ini)
#command IMP_BRW( ) => IMP_BRWHB( )
#command MONTA_LIN(<qtlin_>,<qttab_>) => MONTA_LINHB(<qtlin_>,<qttab_>)
#command SET PRINTER TO <(file)> [<add: ADDITIVE>] => ;
Set_Printer( <(file)>, <.add.> )
Link para download da última versão do Gas4Harbour
Abraços,
Convertendo Sistema do GASPRO para Harbour
Enviado: 13 Set 2012 19:04
por Jairo Maia
Olá Toledo,
Ulalá.... Fantástico cara...
Show de bola... Quem sabe, sabe mesmo, e não se discute...
Todos os testes tanto em LPT e USB e também em impressora da rede funcionaram corretamente, quer seja para relatórios ou consultas.
Parabéns! Isto vai facilitar e muito quem for migrar sistemas construidos com o GASPRO e sem muita burrocracia.
:-Y :{
Convertendo Sistema do GASPRO para Harbour
Enviado: 13 Set 2012 20:01
por Toledo
Jairo, como já disse minha intensão é mexer o mínimo possível nos arquivos gerados pelo GAS, então se você ou algum dos amigos (Alexandre Silva, clipsis, bcm, etc) que estão a mais tempo nesta converção, possa relacionar as alterações que tiveram que fazer no código gerado pelo GAS para converter para o Harbour. Principalmente as alterações que podem se perder quando se gerar novamente o projeto no GAS. É claro, tirando estas alterações que eu já fiz no arquivo GASP40HB.
Abraços,
Convertendo Sistema do GASPRO para Harbour
Enviado: 13 Set 2012 23:14
por Jairo Maia
Legal Toledo,
Da minha parte, vou sim dedicar tempo para relacionar as alterações dos fontes que fiz, tentando seguir na mesma linha que você está seguindo, e assim que possível reporto.
Convertendo Sistema do GASPRO para Harbour
Enviado: 15 Set 2012 00:42
por Toledo
Amigos, montei um pequeno programinha para facilitar esta conversão de sistemas GASPRO40 para Harbour.
Com este programa
não é necessário fazer qualquer alteração nos arquivos gerados pelo GASPRO40, basta apenas seguir estas instruções:
1 - Descompactar o arquivo em anexo dentro da pasta onde estão os arquivos (PRG,LNK,CH,etc) do programa gerado pelo GASPRO40.
2 - Copiar o arquivo GETSYS.PRG (que está na pasta C:\GASPRO40) também para a pasta do programa.
3 - Deletar os arquivos de índices dos arquivos de senhas (PWGRUPO1.NTX, PWTABEL1.NTX, PWUSUA1.NTX e PWUSUA2.NTX)
Feito isto, basta digitar:
Gas4Harbour <NomedoArquivoLNK>
<NomedoArquivoLNK> = É o nome do arquivo LNK gerado pelo GASPRO40.
Obs.: é claro que o
HARBOUR deve estar instalado e configurado, bem como o BCC55 ou MingW.
Bom, o que este programa faz é simplesmente montar o arquivo HBP e alterar os arquivos XXX.CH, XXX_PUBL.CH e XXX.PRG (arquivo fonte principal) com os comandos necessários para a conversão e depois fazer a compilação.
Espero que seja útil!
Link para download da última versão do Gas4Harbour
Abraços,
Convertendo Sistema do GASPRO para Harbour
Enviado: 15 Set 2012 09:02
por vailton
F A N T A S T I C O ! ! !
Parabens Toledo pela iniciativa, muito bom mesmo!
Convertendo Sistema do GASPRO para Harbour
Enviado: 15 Set 2012 09:43
por Toledo
Obrigado Vailton!
Existem ainda alguns comandos/funções gerados pelo GASPRO que ainda não foram convertidos no GASCOMP, mas conforme os amigos forem relatando os problemas, vamos tentando corrigir.
Abraços,
Convertendo Sistema do GASPRO para Harbour
Enviado: 15 Set 2012 10:16
por Jairo Maia
Olá Toledo,
Fiz algumas alterações no GasComp, e gostaria que você analizasse.
[Editado]
As alterações estão nas linhas 13, linhas 91 a 98, linha 113, linhas 137 a 181. Obrigado.
Convertendo Sistema do GASPRO para Harbour
Enviado: 15 Set 2012 14:43
por Toledo
Jairo, perfeito! Fiz também algumas alterações estruturais e segue em anexo uma nova versão do GASCOMP.
Falta agora resolver o problema do arquivo ERROS.DBF. Ví uma solução em um outro tópico aqui no fórum, mas o ideal seria conseguir decifrar como as funções ENCRIPT e DECRIPT do GAS funcionam.
Link para download da última versão do Gas4Harbour
Abraços,
Convertendo Sistema do GASPRO para Harbour
Enviado: 16 Set 2012 10:40
por Jairo Maia
Olá Toledo,
Foi necessário um pequeno ajuste novamente no GASCOMP, para corrigir um problema que não tinha visto antes, a saber: Quando ele faz os ajustes nos PRGs, ele altera também o GASCOMP.PRG distribuido no pacote. Peço desculpas e sua paciência.
Apenas acrescentei no laço FOR/NEXT que ajusta os PRGs, logo abaixo da linha que pega o nome do arquivo o seguinte:
Isso permite que o fonte do GASCOMP permaneça sempre intacto. Novamente, desculpe o inconveniente e conto com sua compreensão.
Quanto ao arquivo de erros, penso que a solução que você viu foi a questão de descriptografar o DBF de erros e depois criptografar com a nova função. Usei assim e substituo no cliente com o instalador, uma vez que sempre uso instalador nos meus sistemas para atualização no cliente.
Agora, se conseguir entender o funcionamento do DECRIPT e ENCRIPT dos GAS ficaria muito bom. Também vou tentar novamente isso e ver onde podemos chegar, pois seria muito legal resolver isso também, e de quebra, nem mesmo as senhas dos clientes se perderiam na mudança para Harbour.
Convertendo Sistema do GASPRO para Harbour
Enviado: 17 Set 2012 11:45
por Toledo
Jairo Maia escreveu:Apenas acrescentei no laço FOR/NEXT que ajusta os PRGs...
Bem lembrado Jairo, eu já atualizei minha cópia!
Olha, consegui decifrar em partes as funções DECRIPT e ENCRIPT, mas foi o suficiente para ler os arquivos de senha e o ERROS.DBF. Então estes dois problemas já foram resolvidos, tive apenas que deletar os arquivos NTX das senhas!
As funções DECRIPT e ENCRIPT, nos testes que eu fiz, estão funcionando 100% sem a utilização da senha (segundo parâmetro destas funções). Para descriptografar o arquivo ERROS.DBF, que usa uma senha, montei uma condição específica para a senha utilizada na criptografia. Se a senha passada para as funções for diferente da utilizada na encriptação do arquivo ERROS.DBF, é utilizado então a função alternativa CRIPTOGRAFA().
Bom, vou fazer mais algumas outras alterações em relação ao BACKUP/RESTAURA e depois posto uma nova atualização do GASCOMP.
Abraços,
Convertendo Sistema do GASPRO para Harbour
Enviado: 21 Set 2012 09:47
por clipsis
Olá e bom dia a todos
Primeiro obrigado e parabéns pela iniciativa.
Ajduará e muito quem quer "Converter" sistemas gerados pelo GasPro.
Gerei um sistema para testar tanto o GASCOMP como o GASPROHB.
Executei o GASCOMP e ele alterou os fonte e gerou o script para compilação corretamente. O estranho é que quando tentei executar o programa ele simplesmente volta ao prompt e não aparece a tela do programa.
O que fiz de errado ?
Abraços
Convertendo Sistema do GASPRO para Harbour
Enviado: 21 Set 2012 10:42
por Jairo Maia
Olá clipsis,
clipsis escreveu:simplesmente volta ao prompt e não aparece a tela do programa
Pois é... A razão eu também não consigo entender, e com sistemas gerados pelo GAS ainda não aconteceu comigo.
Porém, essa situação estranha me parece que é porque ele não lê a função Main(). Tente fazer o seguinte para ver se é isso:
1- Edite seu PRG principal e comente a linha
Function Main()
2- Sem usar o GASCOMP, para que esta linha não seja reconstruída, compile assim:
HBMK2 Nome_Arquivo.HBP. Veja se vai funcionar.
NOTA: Como você já leu, o GASCOMP ainda é versão Beta, então se você for usá-lo após essa alteração sem que tenha gerado os fontes novamente, descomente a linha
Function Main(), se não, o GASCOMP duplica algumas informações no PRG principal.
[Editado]
Desculpe pessoal. Falei bobagem. O que coloquei em NOTA, ocorre somente se EXCLUIR a chamada ao arquivo
hbgtinfo.ch.
Convertendo Sistema do GASPRO para Harbour
Enviado: 01 Out 2012 08:05
por clipsis
Olá Jairo Maia e a todos
Desculpe a demora na resposta mas esses dias foram de muito trabalho por aqui.
Fiz o que você mencionou sobre comentar a linha //Function Main(). Porém não resolveu.
Continua tendo o mesmo comportamento: Quando executo o programa ele simplesmente volta ao prompt e não aparece a tela do programa.
Alguém teria mais alguma sugestão ?
Vou fazer mais alguns testes se conseguir algum progresso posto aqui
Abraços
Convertendo Sistema do GASPRO para Harbour
Enviado: 03 Out 2012 12:01
por clipsis
Olá e bom dia a todos!
Consegue encontrar o problema de executar e voltar ao prompt.
O que estava ocasionando o problema era a linha:
REQUEST HB_GT_WVT_DEFAULT
Acontece que quandotiro essa linha o programa apresenta erro na linha:
HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. )
Código: Selecionar todos
Erro irrecuperável 9003: Muitas chamadas recursivas ao manipulador de erros
Called from TYPE(0)
Called from ERROMSG(1074) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from MAIN(25) in SISBANHO.PRG
Comentando essas 2 linhas o programa executa normalmente.
Do restante parece estar tudo ok.
Abrãços