Convertendo Sistema do GASPRO para Harbour

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

Moderador: Moderadores

Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Convertendo Sistema do GASPRO para Harbour

Mensagem por Alexandre Silva »

Duas coisas
1-Essa deve ser facil para voces, meu sistema tem, acreditem, 313 PRG(s) entao quando dá um erro a tela enche com todos esse prg, mas o erro sai no comeco da listagem ,. Nao consigo ver o erro, uso harbour 2.0 hbmk2 , como posso jogar esses erros em um txt por exemplo ???

Código: Selecionar todos


-oexec.exe
-inc
-L\clipper5\lib
-lhbdebug
-b
INFO_IND.prg
funcoes.prg
...
...
2-O comando Save TO do clipper grava variaveis com até 10 caracteres no nome, entao quando se faz o Rest From, só pega até 10 caracteres, ocorre que no GASPRO quando se gravava uma consulta (ALT_G) algumas variaves eram mais longos e agora com o harbour que usa nome longo dá erro... COMO CONTORNAR ISSO ?? pois a variavel nao é encontrada.. !! :(
Existe um equivalente no Harbour para salvar como nome longo.. acho que essa funcao nao foi implementada para nome longo..
Nota de Moderação:
por Toledo: Existe na seção download aqui do fórum um aplicativo que faz toda a conversão do programa gerado pelo GASPRO40 para Harbour, veja o link abaixo:
https://pctoledo.org/forum/fileba ... t=c&page=1
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Ver erros na compilacao/Save to

Mensagem por Itamar M. Lins Jr. »

Ola
Teste com o redirecionador do DOS ">"
hbmk2 teste.prg > saida.txt

Não entendi direito o outro problema.
O Harbour salva com nomes longos e restaura com nomes até 10 caracteres ? ou dentro do prg as variaveis estão com até 10 caracteres ?
No caso é so corrigir oras!

Código: Selecionar todos

Testa com as novas funções HB_MVSAVE(), HB_MVRESTORE()
2010-05-17 20:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
* src/rtl/Makefile
+ src/rtl/memvarhb.prg
+ Added:
HB_MVSAVE( <cFileName>, [<cMask>], [<lIncludeMask>] )
HB_MVRESTORE( <cFileName>, [<lAdditive>], [<cMask>], [<lIncludeMask>] )

They serve the same purpose with same interface
and similar behavior to __MVSAVE()/__MVRESTORE()
(and __MSAVE()/__MRESTORE(), and 'SAVE TO' command),
only that they support longer than 10 char variable names.
It is not possible to add such support in Clipper-style
.mem files, so these functions will create an incompatible
file format with default '.hbv' extension.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Ver erros na compilacao/Save to

Mensagem por Pablo César »

1-Essa deve ser facil para voces, meu sistema tem, acreditem, 313 PRG(s) entao quando dá um erro a tela enche com todos esse prg, mas o erro sai no comeco da listagem ,. Nao consigo ver o erro, uso harbour 2.0 hbmk2 , como posso jogar esses erros em um txt por exemplo ???
Existe várias rotinas postadas aqui pelos colegas que capturam os erros durante execução. Dê uma analisada se algum deste resolve para você:

Exemplo disponível na seção Downloads: https://pctoledo.org/forum/fileba ... t=s&page=1
Tópico com vários exemplos indicados: https://pctoledo.org/forum/viewto ... sys#p65650
Tópico recente que também trata de gravação de erros em arquivo: https://pctoledo.org/forum/viewto ... t=errorsys
Outro exemplo: https://pctoledo.org/forum/viewto ... t=errorsys
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Re: Ver erros na compilacao/Save to

Mensagem por Alexandre Silva »

Desculpem, acho que nao me fiz ententer..
O Erro é na COMPILACAO., ja tinha tentado colocar > saida.txt. NAO MOSTRA OS ERROS DE COMPILACAO..
Apos varias tentativas descrobri o parametro -quiet , (no projeto.hbp) Otimo ! Só mostra os erros..


2- Questao so SAVE ALL LIKE
Itamar M. Lins Jr. escreveu:Não entendi direito o outro problema.
O Harbour salva com nomes longos e restaura com nomes até 10 caracteres ? ou dentro do prg as variaveis estão com até 10 caracteres ?
No caso é so corrigir oras!
O comando SAVE ALL LIKE, mesmo no harbouur só salva variaveis até 10 caracteres, nos programas em GAS tem muitos lugares que a variavel pode chegar a 11 ou 12 caracteres , isso nao era problema no CLIPPER..
Bem pelo que vi, o comando continua no HARBOUR até 10 caracteres, senao nao teriam crIado outras funcoes: HB_MVSAVE(), HB_MVRESTORE() , obrigado pela dica..
O ruim pra mim é que esta rotina é sempre gerada quando o GAS gera o fonte, terei que mudar sempre o camando SAVE ALL LIKE para essas funcoes..
Abaixo techo que grava, as colunas do Browse em um arquivo de configuracao..uma variavel gravada por exemplo DB_1IND_ORD (vai dar problema quando fizer o REST FROM..

Código: Selecionar todos


..
..
ELSEIF tecl_p = K_ALT_G
   st_pesq := ""
   t=ALIAS()
   br_w1 := br_w
   SELE (m_origem)
   cod_sos=22
   db_aqcom=PADR(br_tit,58)
   ALERTA(2)
   db_aqcom=DBOX("Identifique-a para grava‡„o. ESC cancela",,,,,"GRAVA CONSULTA",db_aqcom)
   db_aqcom=ALLTRIM(db_aqcom)
   IF LASTKEY()!=K_ESC.AND.!EMPT(db_aqcom)
      pas = "1"
      br_w = br_origem
      db_outro=IF(outro_db=NIL,"",ALIAS(VAL(outro_db)))
      db_indrela=ind_rela
      db_qprg=qual_prg
      DO WHILE .t.
         db_&pas.qtdc=br_w:colcount
         FOR i=1 TO db_&pas.qtdc
            tt=RIGHT(STR(100+i,3),2)
            db_&pas.carg&tt.= br_w:getcolumn(i):cargo
            db_&pas.tam&tt. = br_w:getcolumn(i):width
         NEXT
         id_carg = br_w:cargo
         db_&pas.expo=id_carg[2]
         db_&pas.arqf=id_carg[1]
         db_&pas.chvr=id_carg[3]
         db_&pas.ind_ord=id_carg[4]
         db_&pas.cmr=id_carg[5]
         db_&pas.freeze=br_w:freeze
         IF pas = "1" .AND. br_outro != NIL
            pas="2"
            SELE (outro_db)
            br_w = br_outro
         ELSE
            EXIT
         ENDI
      ENDD
      IF br_tit==db_aqcom
         aqdbe=br_arq
      ELSE
         DO WHIL .t.
            hms=TIME()
            resaq=LEFT(hms,2)+SUBS(hms,4,2)+RIGHT(hms,2)+"."+LEFT(ALIAS(VAL(m_origem)),3)
            aqdbe=drvdbf+"DB"+resaq
            IF ! FILE("&aqdbe.")
               EXIT
            ENDI
         ENDD
      ENDI
      SAVE ALL LIKE db_* TO (aqdbe)   // <<<============
   ENDI
   SELE (t)
   br_w := br_w1
ELSEIF
...

* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Re: Ver erros na compilacao/Save to

Mensagem por Jairo Maia »

Olá Alexandre,

NOTA: Estou considerando que seu problema se restringe as consultas, e que vc não usa o comando SAVE/RESTORE em outros pontos de seus projetos gerados pelo Gaspro.

Tente fazer o seguinte:

1- Nas aplicações geradas pelo Gaspro, sempre é criado um arquivo "Nome_do_projeto.ch", e o Gaspro o coloca no inicio de todo .prg que ele gera.
2- Este arquivo faz referencia a outros dois sempre, a saber, "inkey.ch" e "set.ch", e não são alterados pelo Gaspro.
3- Por se tratar de problema exclusivo da migração de sistemas do Gaspro, aconselho que vc faça uma cópia destes arquivos para cada pasta de cada projeto seu gerado em Gaspro.
4- No inicio de um deles, coloque um: #define ind_ord ind_or

Isto funciona perfeitamente, mesmo que vc gere novas fontes do projeto pelo gaspro, e todas as consultas já gravados pelos seus clientes serão lidas sem problemas.

Uma segunda opção é vc passar a usar os comandos do Harbour, que gravam e lêem variáveis com mais de 10 caracteres.

1- Repita os passos 1 ao 3 acima, neste caso acho mais prudente ainda.
2- No inicio do arquivo escolhido, altere os SET Commands SAVE ALL LIKE e RESTORE, direcionando para as funções do Harbour.

Código: Selecionar todos

#command SAVE ALL LIKE <skel> TO <(file)> ;
                 => HB_MVSAVE( <(file)> , <(skel)> )

#command RESTORE [FROM <(file)>] [<add: ADDITIVE>] ;
                 => HB_MVRESTORE( <(file)> , <.add.> , "*.*")
No comando HB_MVRESTORE, não é necessário os caracteres globais *.*, porém deixe-os ai para vc saber que no seu caso é limitado ao uso do clipper, onde vc só pode filtrar variaveis na hora de usar o SAVE.

Implicações do uso desta segunda opção:
1- Consultas geradas não serão lidas, terão que ser refeitas
2- Antes acessar a opção CONSULTA das aplicações geradas pelo Gas, vc deve apagar todas elas, elas começam sempre com "DB" e são colocadas na mesma pasta dos bancos de dados.
3- Se vc não fizer isso, ao acessa esta opção gerará um erro se já existir consulta gravada para o modulo acessado.
4- Neste segundo caso,vc não terá probleema em caso de uso em outros pontos do projeto, mesmo que seja salva a variavel "drvautohelp" por exemplo.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Ver erros na compilacao/Save to

Mensagem por asimoes »

Experimenta isso:


hbmk2 teste.prg > logerros.txt 2>&1

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Re: Ver erros na compilacao/Save to

Mensagem por Alexandre Silva »

Jairo Maia escreveu:4- No inicio de um deles, coloque um: #define ind_ord ind_or
Jairo essa opcao do define nao deu..
coloquei no xxx.ch recompilei, continua mostrando variavel DB_1IND_ORD nao existe..

Olha o que eu fiz: No arquvo xxx_FUNC.prg que sempre é gerado, na funcao.. FUNC LDBEDIT(lecons) na linha que le a consulta gravada
ind_ord=db_&pas.ind_or //d ( tirei o d e funcionou) o inconveniente é que a cada geracao tem que editar e mudar..

Gostei das dicas, nao sabia que dava para mudar um comando por outro, mas no sistema temos 280 consultas pré gravadas, entao to procurando uma solucao menos radical..

Pelo que vi, vc tb usa o GASPRO, entao percebeu a esse problema na variavel "drvautohelp", nesse caso coloquei no .ch drvautohelp:=.t. // so que sempre vai ficar com auto ajuda ligado ao iniciar.. nao consigo com #define

Sobre GasPRO
1-Tem um problema que nao conseguir resolver ainda.. nas consultas pode se relacionar uma base de dados com outra, usando o J , Exemplo no browse de cima ficam os cliente, na parte de baixo as contas a receber, relacionadas pelo codigo do cliente.
Entao quando se movia a base do cliente, ou se posicionava em algum cliente o browse de baixo mostrava os dados daquele cliente.. NO harbour nao esta acontecendo isso..!!!
A funcao é BRWFUNC() no xxx_FUNC.PRG
:(

2-Voce refez a funcao que encripta ? teve que trocar todas a senhas certo ? ou vc tem a funcao original ? Tem bastante gente migrando do GAS (efeito do SEVEN 64)
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Re: Ver erros na compilacao/Save to

Mensagem por Jairo Maia »

Olá Alexandre,
Alexandre Silva escreveu:Jairo essa opcao do define nao deu..
coloquei no xxx.ch recompilei, continua mostrando variavel DB_1IND_ORD nao existe..
Alexandre, então não sei. Estou usando a opção via #include, e ela sofre alteração, veja:
Nota: se o arquivo que vc diz: xxx.ch é o arquivo do nome do projeto, ele é atualizado cada vez que vc altera seu projeto e gera os fontes.

Este é como ind_or está no arquivo do Clipper:
1EXPO 1 ├▓ë(z DT ▓ë8z $┐ °¤CIDCLI DB_1FREEZE ╬▓ë(z
DT ▓ë8z $┐ °¤ DB_1IND_OR ╬▓ë(z
DT ▓ë8z $┐ °¤ @DB_1QTDC R ╬▓ë(z

Este é como ind_or está no arquivo Harbour:
ÇD@DB_1IND_OR
@DB_1FREEZE ╬
DB_1EXPO ├

Veja, Ambos estão como ind_or.
drvautohelp também usei #define
Alexandre Silva escreveu:Olha o que eu fiz: No arquvo xxx_FUNC.prg que sempre é gerado, na funcao.. FUNC LDBEDIT(lecons) na linha que le a consulta gravada
ind_ord=db_&pas.ind_or //d ( tirei o d e funcionou) o inconveniente é que a cada geracao tem que editar e mudar..
Ok. Vc alterou a variavel que retorna o indice escolhido pelo usuário. A rigor, retorna apenas o indice, não a consulta, veja:

db_&pas.arqf=id_carg[1] // retorna o filtro
db_&pas.expo=id_carg[2] // retorna a ordem
db_&pas.chvr=id_carg[3] // retorna a chave de relacionamento quando há consulta relacional
db_&pas.ind_ord=id_carg[4] //retorna o indice da consulta
Alexandre Silva escreveu:Sobre GasPRO
1-Tem um problema que nao conseguir resolver ainda.. nas consultas pode se relacionar uma base de dados com outra, usando o J , Exemplo no browse de cima ficam os cliente, na parte de baixo as contas a receber, relacionadas pelo codigo do cliente.
Entao quando se movia a base do cliente, ou se posicionava em algum cliente o browse de baixo mostrava os dados daquele cliente.. NO harbour nao esta acontecendo isso..!!!
A funcao é BRWFUNC() no xxx_FUNC.PRG
Pois é.... Quando li isso, veio o popular "putz!". Não verifiquei isso ainda, mas se vc está dizendo é pq tem problema. Mas, como nem tudo são rosas, fazer o q? Vamos ter que resolver.
Alexandre Silva escreveu:2-Voce refez a funcao que encripta ? teve que trocar todas a senhas certo ? ou vc tem a funcao original ? Tem bastante gente migrando do GAS (efeito do SEVEN 64)
Primeiramente, ainda não atualizei sistema em Harbour para nenhum cliente. Decidi migrar para Harbour, e estou trabalhando justamente um sistema desenvolvido pelo Gaspro, e bastante complexo. Acho que o mais complexo que crie até agora, por isso o motivo de tê-lo escolhido, para viver a maior quantidade de problemas possiveis.

Quanto as senhas, não consegui recriar ou restaurar ENCRIPT/DECRIPT, e após exaustivas tentativas acabei usando as opções disponibilizadas pelo Harbour: SX_ENCRYPT/SX_DECRYPT. Mas as senhas não serão perdidas, criei dois utilitários que quando for montar o instalador serão rodados na primeira atualização.

A idéia foi criar um pequeno utilitario no Clipper com a lib GASPRO52, descompactar todas as senhas no arquivo de senhas e salvar, e em seguida abri-lo novamente e compacta-las com o utilitario em Harbour. Já testei, funcionou.

Também pretendo abandor SAVE/RESTORE do Clipper, e usar as do Harbour, acrescentando as linhas de redirecionamento que já passei, mas isso será depois, pois tenho que criar o utilitário para atualizar todas as consultas gravadas por clientes.

Estudei isso, e embora ainda não testei, teoricamente me parece mais simples que a atualização das senhas, pois posso fazê-lo com apenas um utilitário em Harbour.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Re: Ver erros na compilacao/Save to

Mensagem por Alexandre Silva »

Jairo Maia escreveu:Não verifiquei isso ainda, mas se vc está dizendo é pq tem problema. Mas, como nem tudo são rosas, fazer o q? Vamos ter que resolver.
Só ta faltando isso (Consulta com 2 Browses ligados) para colocar o sistema no cliente..
Achei que o Harbour era 100 % compativel, poderia ser alguma coisa faltando na LIB ?

Veja que algumas funcoes, por exemplo POE_GAUGE, aquela que poem o % quando esta listando, que usa o comando POKE (que nao veio no fonte que consegui da lig do gas) essa funcao ficou prejudicada..mas nao é tao importante..
Voce poderia disponibilizar a sua lib ?

Mas pra mim essa questao dos 2 browses é a prioridade agora, conto com o amigo.

Fiquei 3 dias testando as compatibildades e foram esses os problemas:

Navegacao em browses relacionados (pendente)
drvautohelp (contornado)
db_1ind_ord (contornado)
encripta/decripta (fazer outra funcao, refazer as senhas existentes)
poe_gauge ( nao é tao importante)
ok_print ( que verificava se a linha tinha caracteres especias para nao mostra no relatorio quando mostrado na tela) essa estava incompleta, mas dá pra fazer adaptacao

* No geral é bem pouco, e o ganho de performance foi em média 200%, a indexacao total que levava 150 segundos caiu para 50 segundos (com os nsx que já usava)
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Ver erros na compilacao/Save to

Mensagem por Itamar M. Lins Jr. »

Ola!
Quanto a consulta com dois browses...
Eu uso consulta com 4 ou 5 browses com Hwgui e TAB. pode ser obtido também com a Minigui ou outra lib gráfica usando OrdScope().
Quanto a barra de progresso o gauge, acredito que o Harbour tem coisa melhor.
Na pasta \contrib\hbclipsm.

Código: Selecionar todos

/*
 * $Id: testgaug.prg 9198 2008-08-20 09:56:47Z vszakats $
 */

/* Testing Harbour's Gauge */

#include "inkey.ch"
#include "setcurs.ch"

function Test()

   LOCAL aGauge
   LOCAL i := 0
   LOCAL nPercent := 0

   CLS
   SetCursor( SC_NONE )

   aGauge := GaugeNew( 5, 5, 7, MaxCol() - 5, "W/B", "W+/B" )

   @  1, 0 SAY PadC( "Harbour Gauge Demo", MaxCol() ) COLOR "W+/N"
   @  3, 0 SAY PadC( "Use , , PgUp and PgDn to move gauge, Esc to exit", MaxCol() ) COLOR "W/N"

   GaugeDisplay( aGauge )

   while i != K_ESC
      i := Inkey( 0 )
      do case
         case i == K_UP
            nPercent += .01
         case i == K_DOWN
            nPercent -= .01
         case i == K_PGUP
            nPercent += .1
         case i == K_PGDN
            nPercent -= .1
     end case

      if nPercent < 0
         Tone( 300, 1 )
         nPercent := 0
      endif
   
      if nPercent > 1
         Tone( 300, 1 )
         nPercent := 1
      endif
   
      GaugeUpdate( aGauge, nPercent )
   end do

   SetCursor( SC_NORMAL )

return nil
Agora eu uso a função eval quando for indexar

Código: Selecionar todos

index on conta+dtos(data)     tag ca01 to caixa.cdx  eval {||oBar:Set(,Recno()),.t.}
Saudações,
Itamar M. LIns Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Re: Ver erros na compilacao/Save to

Mensagem por Jairo Maia »

Olá Alexandre,

Ainda não posso dizer nada sobre as consultas relacionadas, não verifiquei isso até agora. Ficarei sem trabalhar na migração 3 ou 4 dias, depois retomarei com intensidade, pois tenho urgência em resolver isso também.

Quanto a disponibilizar os fontes da lib, neste momento isto não é possivel, pois mesmo em clipper, personalizei varias funções do Gas para adaptação nesta aplicação, e não seria funcional em outra, pois contem muitas alterações.

No futuro, quando estiver trabalhando a migração de um sistema mais simples também em Gaspro, (Gas puro) isto será possivel, pois nos fontes não terão as personalizações exclusivas, e então podemos todos inclusive abrir um tópico de discusão exclusiva de migração Gaspro/Harbour, e compartilhar os avanços que tivermos.
Alexandre Silva escreveu:Mas pra mim essa questao dos 2 browses é a prioridade agora, conto com o amigo.
Hehe... Isto é reciproco. Veja que o Itamar postou novas informações (novas pelo menos para mim), que devem ser observadas.

Estarei acompanhando o fórum, mas não creio que retomarei os trabalhos de migração antes de quinta ou sexta.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Re: Ver erros na compilacao/Save to

Mensagem por Alexandre Silva »

Eu vou colocar em modo console, puro, só falta essa questao do browse..

Fico no aguardo..
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Ver erros na compilacao/Save to

Mensagem por sygecom »

Olá Alexandre,
Está usando os fontes desse link ?
http://www.suportegas.com.br/portal/dl_goto.asp?id=394
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Re: Ver erros na compilacao/Save to

Mensagem por Alexandre Silva »

Oi,, OK tb uso essa do algodao..
Mas aquela funcao que relaciona os browser, nem é da LIB é a funcao BRWFUNC(), tem 1300 linhas.
E gerada no arquivo xxxx_func.prg, nao entendo porque no clipper funcionava, se movia o registro do Browse de cima, atualizava o browse debaixo..*quando tinha aquela ligacao feita com J
Meus usuarios usam muito esse recurso..
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Ver erros na compilacao/Save to

Mensagem por sygecom »

Olá Alexandre,
Post um exemplo completo que eu possa compilar e rodar aqui e demosntre o problema, assim podemos lhe ajudar melhor.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder