Erro Compilação Harbour utilitário ADAP GASPRO

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marcelomteles
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 12 Dez 2013 01:46
Localização: são bernardo do campo

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por marcelomteles »

Pessoal boa noite,

Estou tentando compilar o utilitário ADAP do gaspro com o gas4harbour, poré esta dando erros. Poderiam me ajudar, nas alterações na estrutura dos arquivos o utilitário é muito útil, qual outra alternativa ?

Segue anexo o print da tela de erro.

Abraços

Marcelo
Anexos
ERRO COMPILACAO.JPG
Marcelo
Harbour 3.2.0
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por Toledo »

Amigo, o gas4harbour foi desenvolvido para converter os fontes do programa principal gerado pelo GASPRO40, então não vai funcionar 100% com o ADAP.

Será necessário algumas alterações:

No seu arquivo SPS_ADAP.HBP excluir as seguintes linhas:
-lhbziparc
-lhbmzip
-lminizip

GETSYS.PRG
Ainda no arquivo SPS_ADAP.HBP troque:
GASP40HB.PRG
por:
GAS_ADAP.PRG

O arquivo GAS_ADAP.PRG segue em anexo, então descompactar o arquivo em anexo na pasta onde está o fonte do seu ADAP, depois é só compilar, digite:

hbmk2 SPS_ADAP.HBP

Abraços,
Anexos
GAS_ADAP.zip
(32.14 KiB) Baixado 213 vezes
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
marcelomteles
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 12 Dez 2013 01:46
Localização: são bernardo do campo

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por marcelomteles »

Toledo.

Muito obrigado amigo, deu tuto certo, compilação, execução, correto !!

Aproveintando o tópico, estive vasculhando as mensagens e não consegui reunir informações para resolver outra questão. Preciso imprimir relatórios através dos sistemas gaspro, tanto em impressoras locais, usb ou rede. Vi um post seu há algum tempo que você disponibilizaria uma atualização do gaspro4harbour que poderia realizar estas impressões inclusive com visualização.
Isto é possível ? O que preciso alterar nos sistemas para poder imprimir nas impressoras instaladas no Windows ?

Abraços e mais uma vez obrigado.

Marcelo.
Marcelo
Harbour 3.2.0
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por Toledo »

Amigo, na conversão que o gas4harbour faz, o programa já pode fazer a impressão em qualquer impressora instalada no Windows (USB, rede, locais, paralelas, etc), só não tem a visualização em modo gráfico.

Lembrando: o gas4harbour foi desenvolvido para converter programas gerados pelo GASPRO40, acho que em versões anteriores (GASPRO30, GASPRO20,etc) a conversão pode não ser de 100%, alguma coisa pode não funcionar corretamente.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por prmuller »

Marcelo, bom dia!

Apenas complementando as explicações do mestre Toledo, como sempre, brilhantes, na realidade, não é necessário compilar o XXX_ADAP no Harbour, uma vez que ele apenas trabalha nas estruturas de arquivos, indices e senhas.
Pode compilar no Clipper mesmo (rmake, blinker, exospace, rtlink) e aplicar que vai funcionar da mesma forma.
Se vc usa arquivos dbf para controle de sequências numéricas (XXX_SEQ.DBF) faça uma cópia dos mesmos antes de aplicar o adaptador e depois, retorne-os ao BD. O adaptador gerado pelo Gaspro faz uma ^lenha" nos controles dos lançamentos que vai causar sobreposição de registros. Esse procedimento garante que tudo ficará normal.
Quanto a sua dúvida sobre impressão, como sempre, o Toledo está exato, mas, apenas para impressão direta em qualquer impressora instalada localmente ou na rede.
Se vc der a saida no vídeo e tentar imprimir telando "I" a saida vai ser direcionada apenas para as LPTs.
Também é assim na impressão de qualquer consulta e nos relatórios gerados para serem emitidos após as insclusões (se vc usar).
Não se apavore pq bastam algumas alterações para resolver isso.
Eu parei de programar há algum tempo, coisa que fiz por mais de 35 anos, porém, a pedido de um amigo, recuperei um sistema de gerenciamento de laticício feito nos primórdios do clipper que não tinha mais os fontes, o programador tinha o paradeiro ignorado, não deu para descompilar, etc. e, com a ajuda dos mestres deste fórum reescrevi tudo usando o Gaspro e migrei para o Harbour tranquilamente, e com a ajuda da velha Visual Lib (tb peguei a versão para Harbour aqui no fórum), ficou show de bola, rodando a mil e ininitamente superior ao antigo.
Para os relatórios usei no caso de inserção do logo da empresa o Nodosprint (free), que, com algum conhecimento, tem recursos muito bons e, para os outros, fiz as alterações necessárias nos fontes do relatórios e em algumas funções dos XXX_PROC, XXX_FUNC e XXX_FUN2, e, como disse, ficou bem legal.
Se for de seu interêsse ou de mais alguém, posso disponibilizar isso para uso geral. Seria até uma forma de retribuir o quanto pude aproveitar no fórum.

Sds,
Paulo Muller
marcelomteles
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 12 Dez 2013 01:46
Localização: são bernardo do campo

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por marcelomteles »

Paulo boa tarde,

Agradeço e quero sim, todo material é muito bem vindo.

Ainda continuando o assunto da impressão, conforme o Toledo informou, em uma máquina com windows 8 64 bits, consegui rodar o sistema legal, inclusive quando solicitei a impressou realmente foi disponibilizado as impressoras que estavam instaladas localmente (USB e LPT1) e também as de rede, porém em algumas outras maquinas windows 7 64bits, quando mando imprimir, aparece somente a impressora que esta configurada no sistema LPT1 e acaba dado o erro dos 2, quando não acha a impressora instalada fisicamente na máquina. Acontece que nesta mesma maquina tenho impressoras USB e de rede instaladas, era para aparecer a lista da mesma forma que apereceu no windows 8. Já apaguei o arquivo printers.dbf e nada, o que pode ser ?

Abraços

Marcelo
Marcelo
Harbour 3.2.0
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por prmuller »

Oi Marcelo,

Interessante isso que vc colocou pois, se funciona no Win 8, deveria tb ser idêntico no Win 7.
As primeiras coisas a fazer são:
1 - Incluir no seu arquivo ch principal ('nome do sistema.ch') a linha:
#command SET PRINTER TO <(file)> [<add: ADDITIVE>] => ;
Set_Printer( <(file)>, <.add.> )
2 - Incluir no seu arquivo XXX_PUBL.CH as linhas:
drvautohelp:=.t.
arq_:=""
Mou_Lin_S:= Mou_Col_S := Mou_Lin_I := Mou_Col_I := 0

Esta contribuição peguei aqui no fórum, se não me engano, do Itamar (outra fera) e deve acertar esse problema.
Se vc ja tiver feito isso, então o problema é outro, mas, veja aí e me retorne que vamos acertando as coisas.

Sds,
Paulo Muller
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por Toledo »

prmuller escreveu:1 - Incluir no seu arquivo ch principal ('nome do sistema.ch') a linha:
#command SET PRINTER TO <(file)> [<add: ADDITIVE>] => ;
Set_Printer( <(file)>, <.add.> )
2 - Incluir no seu arquivo XXX_PUBL.CH as linhas:
drvautohelp:=.t.
arq_:=""
Mou_Lin_S:= Mou_Col_S := Mou_Lin_I := Mou_Col_I := 0
O gas4harbour já faz todas estas alterações nos arquivos CH, com apenas uma diferença, que é no caso da variável drvautohelp, onde trunca o nome desta variável para 10 caracteres, ficando drvautohel. Isto é feito tanto nos arquivos CH, como nos PRG que tenham esta variável, pois nos CH e PRG o nome da variável vem com 11 caracteres, gerando um erro com o arquivo SYS, onde esta mesma variável é salva com apenas 10 caracteres. Então, para não ter que refazer/salvar o arquivo SYS novamente, o gas4harbour altera nos CH e PRG o nome desta variável para apenas 10 caracteres, retirando a letra p do final do nome da variável.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
marcelomteles
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 12 Dez 2013 01:46
Localização: são bernardo do campo

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por marcelomteles »

Paulo,

As informações estão sim digitadas nos arquivos .ch, conforme postou. É realmente muito estranho, vou postar um print da tela, onde pode ser observado a unica impressora que aparece como opção, sendo que neste pc, existem varias impressoras instaladas sendo elas locais ou rede.

Já no outro print, onde o mesmo programa (mesma compilação), ja disponibiliza as impressoras instaladas, inclusive de rede.
Anexos
SPS 2.jpg
SPS.jpg
Marcelo
Harbour 3.2.0
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por Toledo »

marcelomteles escreveu:onde o mesmo programa (mesma compilação)
Amigo, nos dois computadores você está executando o mesmo EXE? O mesmo EXE que está no computador onde todas as impressoras aparecem certinho, você copiou ele para o outro computador ou fez uma nova compilação neste segundo computador?

É muito estranho, pois se for o mesmo EXE nos dois computadores, a lista de impressora teria que sair corretamente. Acho que neste segundo computador você não tem uma impressora instalada no Windows com o nome de "Padrão IBM".

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por prmuller »

Oi Toledo!
Essa impressora "Padrão IBM", com certeza esta instalada no aplicativo que foi gerado no GasPro (isto é padrão do Gas). Pode-se modificar o nome, Lpt, etc), mas, o nome real dela não é esse.
Eu acho que, o gas gera dois tipos de saídas. Através da FUNC OPCOES_REL, que, com certeza, após a compilação com HB vai listar todas as existentes, sejam locais ou na rede, e através da função TP_SAIDA que somente mostra as impressoras locais.
Se for este o caso (aconteceu comigo como relatado anteriormente) tem que adptar a função TP_SAIDA, o que não é complicado.
Amanhã, logo cedo, vou postar como contornei isso e, quem sabe, possamos ajudar ao Marcelo.

Boa noite,
Paulo Muller
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por prmuller »

Marcelo,

Em adendo ao post anterior dirigido ao Toledo, e, pensando melhor, não deve ser o caso, pois como eu coloquei e o Toledo ratificou, o comportamento deveria ser idêntico nos dois casos. Siga a orientação do Toledo pra ver como fica e nos retorne.

Sds,
Paulo Muller
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por prmuller »

Marcelo,
Desculpe, ja ia me esquecendo. Os dois prints que vc postou se referem ao mesmo relatório? Eu acho que, com certeza, não, mas, nos informe isto tb ok?

Sds,
Paulo Muller
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por Toledo »

prmuller escreveu:Essa impressora "Padrão IBM", com certeza esta instalada no aplicativo que foi gerado no GasPro (isto é padrão do Gas). Pode-se modificar o nome, Lpt, etc), mas, o nome real dela não é esse.
Sim, eu sei que esta impressora é um padrão gerado pelo GAS, por este motivo que acho que o EXE que o Marcelo está executando nos dois computadores são diferentes. Eu acho que neste segundo computador, onde apresenta a impressora "Padrão IBM", o EXE não foi convertido corretamente.
prmuller escreveu:Se for este o caso (aconteceu comigo como relatado anteriormente) tem que adptar a função TP_SAIDA, o que não é complicado
Na conversão feita com o gas4harbour, as funções OPCOES_REL(), TP_SAIDA(), IMP_BRW(), MONTA_LIN() e GBAK são trocadas pelas OPCOES_RHB(), TP_SAIDAHB(), IMP_BRWHB(), MONTA_LINHB() e GBAKHB. Então, se a conversão foi feita corretamente, não teria como as funções OPCOES_RHB(), TP_SAIDAHB() e IMP_BRWHB() listar a impressora "Padrão IBM".

Lembrando: o gas4harbour só vai converter corretamente os PRG criados pelo GASPRO40. Nas versões anteriores (GASPRO30, GASPRO20,etc) pode ocorrer algum problema.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
marcelomteles
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 12 Dez 2013 01:46
Localização: são bernardo do campo

Erro Compilação Harbour utilitário ADAP GASPRO

Mensagem por marcelomteles »

Toledo / Paulo,

Realmente o Toledo tinha razao, como sempre. Havia um erro na conversão do arquivos sps.ch, após refazer a conversão, a impressão voltou a apresentar todas as impressoras instaladas. Problema resolvido.

Aproveitando, alguns relatórios eram configurados para fonte condensada e estão saindo com tamanho desconfigurado, isto tem alguma solução ?

Abraços

Marcelo.
Marcelo
Harbour 3.2.0
Responder