Problemas em sistema gerado pelo gaspro e convertido

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

Moderador: Moderadores

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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Jairo,

Segue, em anexo, a tela do caminho.
Pelo que analisei até agora, acabo voltando sempre à mov_ptr.
Fiz uma chamada, no início da função, ao alias() e ele aparece normalmalmente, então, esta área deveria estar indexada pelo índice primário, não?

Sds,
Paulo Muller
Anexos
Caminho_trace.jpg
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Jairo,

Continuando a pesquisa, fazendo-se chamadas através do WAIT às funções INDEXORD() e ALIAS(), todos os arquivos (clientes, fornecedores, funcionários, etc) retornam o índice com o qual a consulta foi criada e seu respectivo dbf.
Apenas o arquivo com problemas (mo_caixa) retorna o dbf mas não o índice. Assim, a área, por algum motivo, não é indexada na chamada à consulta.
Vou tentar forçar, no caso deste aliás(), a indexação antes da linha para ver o que acontece.

Sds,

Paulo Muller
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por Jairo Maia »

Olá Paulo,
prmuller escreveu:Vou tentar forçar, no caso deste aliás(), a indexação antes da linha para ver o que acontece.
Paulo, não faça isso. Você citou mais acima que em seu cliente não ocorre o problema. Ótimo, e sabe porque? Em seu cliente você já excluiu as consultas relacionadas a esse arquivo, ou ele não as têm.

Por esse trace fica claro que está havendo um problema em seu computador porque existe consultas para o arquivo MO_CAIXA.DBF. O problema é que nem todas as consultas geradas pelo Clipper são compativeis com o Harbour. Apague todas as consultas gravadas desse arquivo. Elas iniciam com DB e tem a extensão .MO_, e veja o que acontece.
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)
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Jairo,

Já fiz o teste, mas não tem problema, sempre antes de qualquer coisa, faço uma copia de tudo. Sabe como é, vai que da alguma zebra, mas, também não resultou em nada.
Consultas gravadas neste dbf tem um monte (16) e o mais gozado é que elas funcionam normalmente, o problema é na consulta principal (definir nova consulta).
Já testei apagando os db*.mo_ e fica na mesma.
Hoje, à tardinha, puxei os fontes do cliente e funcionam normalmente. Amanhã estarei fora boa parte do dia, mas, tão logo retorne, vou compara-los minuciosamente com os que eu tenho aqui e no pendrive (seria para serem idênticos), mas, vamos ver se existe alguma diferença, por menor que seja.
Diria meu falecido pai, virou questão de honra (rss), não para resolver (volto ao estado anterior), mas para descobrir e entender o fato. Embora tenha parado de programar há anos, nós não perdemos nunca a curiosidade, afinal, boa parte de nós aprendeu no velho método de tentativas, acertos e erros.
Por enquanto, fico-lhe extremamente grato.
Tenha uma boa noite!

Paulo Muller
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por asimoes »

Nestes casos eu costumo usar o bom e velho debug para descobrir o que está acontecendo e é bem certo que a solução é por ai.
►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
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por Jairo Maia »

Verdade Alexandre. Pessoalmente nunca consegui usar Debug. Faço as paradas manualmente com saídas em tela do que preciso até encontrar o problema. Porém, vale lembrar que para usar debug em sistemas gerados pelo GASPro precisa desativar o mouse setando drvmouse:=.f., se não, o debug empaca na função do mouse.

Paulo, por outro lado, o que é intrigante é que quem está chamando a função Mov_Ptr() é a função LDBEdit() neste trecho e na linha que destaquei:

Código: Selecionar todos

     criterio=db_&pas.arqf                            // filtro
     cpord=db_&pas.expo                               // ordem
     chv_rela=db_&pas.chvr                            // ligacao entre janelas
     ind_ord=db_&pas.ind_ord                          // indice atual
     br_w:cargo         := {criterio,cpord,chv_rela,ind_ord,cmr_}
     br_w:gobottomblock := {||FIM_ARQ()}
     br_w:gotopblock    := {||INI_ARQ()}
     *********************************************
     br_w:skipblock     := {|n|MOV_PTR(n)}  // esta é a linha
     *********************************************
E porque é intrigante? É porque se não existe consulta gravada você não vê a opção "Definir nova consulta" e não passa por este trecho dessa função. É aberta automaticamente a consulta primária.

Bom, você já declarou que não programa há um bom tempo, mas não estão enferrujadas duas habilidades fundamentais a um programador: paciência e persistência. Vamos ver o que acontece amanhã.
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)
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Verdade Jairo, como diz o poeta, amanhã é sempre outro dia....
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Jairo, em tempo.
No caso deste sistema o drv do mouse já esta setado para (.f.). Talvez fosse interessante, como sugeriu o Alexandre,
usar o debbug. Eu particularmente nunca usei. Dá uma luz ai como fazê-lo que eu testo sem problemas.

Paulo Muller
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por asimoes »

No seu hbp você deve incluir:

-b

Na rotina que vai testar coloque a função altd() antes da chamada da função onde abre as tabelas se tudo estiver correto, deverá abrir uma janela apresentando o código (prg) e ai é só seguir com a tecla F8 até chegar no ponto onde você quer ver os valores das variáveis, área de trabalho etc.
►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)
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Obrigado Alexandre.

Amanhã posto o que aparecer.
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Bom dia amigos,

Quanto ao debug, fiquei de postar o resultado o que estou fazendo agora, ou seja, não apareceu nada, rssss.
Entendi que devo usar o hbmk2 com a opção -b e usar a função AltD().
Onde chamo esta função? No prg do caixa? No prg principal?
Quando programava em Delphi, aí pela ide dele, com a opção acionada, ele varria tudo e parava onde acusasse erro.
Estou anexando o meu hbp e se tiver algo errado, por favor, avisem, ok?
Obrigado,

Paulo Muller
Anexos
sag_hbp.txt
(4.16 KiB) Baixado 363 vezes
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por asimoes »

Paulo,

Você deve informar a função no código aonde acontece o bug
►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)
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Amigos,

Consegui abrir o debug (valeu Alexandre).
Pressionando o F8 (steep) ele vai varrendo, e na função PARSE(xArg1,xArg2), na linha 1338 do Gas4harbour.prg ele vai varrendo a função e retorna à mesma linha e daí não sai mais. Onde achamos que esta dando problema (mov_ptr) não há referência a esta função. Alguém sabe o que pode significar?

Paulo Muller
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por asimoes »

Paulo,

Localize em qual prg a função ou procedure mov_ptr pertence, inclua a chamada do altd() nela.

Outra coisa, todos os fontes estão na mesma pasta? você linka alguma lib no projeto que seja da gaspro?
►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)
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

Problemas em sistema gerado pelo gaspro e convertido

Mensagem por prmuller »

Alexandre,

A lib do Gaspro usada é o proprio gasp40hb.prg (a lib convertida pelo Toledo).
Bom, a função Mov_ptr fica no XXX_FUNC.PRG. Fiz a chamada e ao abrir a consulta, abre também o debug na função.
Seguindo com o F8, vai dando os passos (ocorre um retorno) e pula para a FUNC ERROMSG da lib convertida e, em seguida vai para a função SETS da mesma lib (gasp40hb.prg) e fica pulando entre as linhas 1209 e 1210.
Salvo melhor juízo e, estando o debug correto, o problema está neste caminho né?
Assim, já tenho um final de semana inteiro pra me divertir (rssss). Vou tentar analisar com calma e minuciosamente. Como sabemos, explicação há que ter. Sinta-se à vontade para qualquer orientação que, aliás, será muito bem-vinda!

Sds,
Paulo Müller
Responder