POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

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

Moderador: Moderadores

Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por deividdjs »

JoséQuintas escreveu:
deividdjs escreveu:U nunca usei o DEBUG .. não faço ideia de como funciona isso .. sempre dubuguei no braço hehehe .. mais vou pesquisar aqui e ver como funciona certinho e fazer o teste ..
Basicamente é compilar com -b.
Durante o uso do aplicativo, tecle Alt-D, e vai entrar nessa tela.
Por aí consegue ver variáveis, DBFs abertos, e outras coisas.

É como uma IDE de linguagem de programação, vai estar vendo seu fonte, conforme a linha que está sendo executada.

Principais/mais usados:

Alt-D entra no modo debug
Alt_O, path, pra definir o path dos fontes, pode ser mais de um, isso é quando o EXE está em pasta diferente dos fontes
F-8 executa uma linha do aplicativo por vez
Alt-F4 pra dar uma olhada na tela do aplicativo, senão só vê o fonte
F-5 executa de uma vez - pode teclar Alt-D depois, por exemplo nesse browse, ou outro lugar
Alt-X fecha tudo, até aplicativo, aonde estiver
tab ou click pra mover entre as janelas

No fonte, pode marcar uma ou mais linhas de parada usando F9.
Tipo nessa parte do pedido quando o usuário tecla ENTER.
Assim, manda executar o aplicativo e só pára aí onde interessa, não precisa linha a linha até chegar aí.
Isto é interessante quando tem um processo, e só interessa ver quando aquele processo terminou pra frente.

break proint, que é definir qual a situação aonde quer que o programa pare.
Disse que muda a posição do pedido: então vai olhar o número do pedido, e coloque no break proint pedido <> numero
Teclar F5, e assim que o número for diferente do indicado, que é seu problema, vai entrar no debug.
Vai estar parado na linha do fonte seguinte à que causou o problema

Nas opções, tem opção de mostrar todas as variáveis, ou locais, ou private
Numa janela você pode colocar expressão pra consulta, tipo ? alias(), ? variável, etc. pra consulta instantânea

Watch point, é pra ficar acompanhando alguma variável, por exemplo recno() de pedido ou número de pedido.
Vai teclando F8, vai executando uma linha por vez, e olhando os valores que aparecem de uma ou mais variáveis

E por aí vai, só olhar as opções do menu, e testar cada uma pra ver o que acontece.
Maravilha zé .. vou tentar !! por hora muito obrigado pela força ... abraço!!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por deividdjs »

boa tarde Galera ..

infelizmente acho q é um problema do harbour 3.2 em diante que está bugando esta parte do meu sistema .. voltei para o xharbour 1.2.3 e funciona perfeitamente ... fiz muitos testes e nada de descobrir .. será que pode ser o INKEY.CH do harbour 3.2 que está bugando meu sistema ?? alguma ideia ??

o bizzaro q fiz uma depuração no braço mesmo .. quando entro no pedido e navego por ele continua o ponteiro no pedido correto ... e quando dou um <ESC> AÍ ele muda a posição ...


uma coisa que notei foi que quando estou dentro dos primeiros pedidos no topo da lista ... isso não ocorre só quando estou um pouco mais pra baixo ou no final da lista de pedidos e isso acontece ...

sei lá .. mistério terrível !!

Abraço!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por JoséQuintas »

Estava revendo sua mensagem, sobre algumas partes.

O codeblock de movimentação é local ? poderia estar misturando com o outro ?
Faz alguma referência à outra tabela ?

Acho que o melhor jeito é o debug mesmo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por deividdjs »

segue um video no youtube para melhor detalhar o problema ...

[youtube] https://youtu.be/hGJaXGWw9KM [/youtube]

Abraço..
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por deividdjs »

JoséQuintas escreveu:Estava revendo sua mensagem, sobre algumas partes.

O codeblock de movimentação é local ? poderia estar misturando com o outro ?
Faz alguma referência à outra tabela ?

Acho que o melhor jeito é o debug mesmo.
Oi Zé .. todos são variáveis locais .. sem nenhuma referência a anterior ... revisei todas as variáveis... tanto que na versão em xharbour funciona normalmente ..

Já não faço ideia do que pode ser ... e preciso usar a versão harbour 3.2 ...porque o xharbour é muito limitado em alguna recursos...

Abraço!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por JoséQuintas »

Valor do RETURN ?
Conforme valor tem remontagem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por deividdjs »

return(2)
JoséQuintas escreveu:Valor do RETURN ?
Conforme valor tem remontagem.
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por rochinha »

Amiguinhos,

deividdjs
Altere o trecho no Código de Alteração de Pedido:

Código: Selecionar todos

...
        case lastkey()=73 .or. lastkey()=105   // INCLUIR ITEM PEDIDO DEFINITIVO                                                                                                                                                                     
	              
	             ordsetfocus("ptmcx_15") // ordem decrescente de data + hora //  ultimo item fica no top
...
Para:

Código: Selecionar todos

...
        case lastkey()=73 .or. lastkey()=105   // INCLUIR ITEM PEDIDO DEFINITIVO                                                                                                                                                                     
                     nOldArea := select()	              
	             ordsetfocus("ptmcx_15") // ordem decrescente de data + hora //  ultimo item fica no top
...
E depois, altere:

Código: Selecionar todos

             select TMP                                                                                                                                                                                                                                                                                                                                         
	             sav_ord := indexord() && SALVA ORDEM
	          
	      ...................
	                                 
	          
	         otherwise  
Para:

Código: Selecionar todos

             select TMP                                                                                                                                                                                                                                                                                                                                         
	             sav_ord := indexord() && SALVA ORDEM
	      dbSelectArea( nOldArea )    
	      ...................
              	                                 
	          
	         otherwise  
Lembbbbre-se de guardar a ára da tabela do browser antes de executar código que vagueie por outras tabelas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por alxsts »

Olá!

Revise as mudanças de área de trabalho. Esta técnica de ficar fazendo Select x, Select y, Select x, etc... é perigosa. Prefira usar os apelidos (Alias) dos arquivos. Use inclusive nas operações dos TBrowses:

Código: Selecionar todos

TMP->( oBrowse:forceStable() )
A questão do SET RELATION, como já citado, pode dar problema quando utilizado.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por alxsts »

Olá!

Ah... @deividdjs
quando responder uma mensagem, não precisa citar toda a mensagem que está respondendo.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por deividdjs »

Alguém tem um comando do GITHUB para eu baixar o HARBOUR 3.2 e 3.4 o mingw32/64 pra ver se não é problema da versão ? ou algum arquivo zicado! vi q saiu uma versão agora em 2024 onde posso baixar para atualizar as que eu tenho aqui ??

o zé me passou uma vez uma instalação automática por GITHUB .. tem algo atualizado lá?

Abraço
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por JoséQuintas »

Pera aí.... devagar.

Vamos recomeçar:

Tem o primeiro fonte, é um browse.
Tem o segundo fonte, que contém uma rotina e um browse.
Qual a ligação entre eles ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por JoséQuintas »

Estou vendo coisa fora do normal, pelo menos comparando com meu uso, agora não sei se depende da RDD ou harbour/xharbour.

Código: Selecionar todos

nOrdem := "PEDCX_02"
...
set order to nOrdem
Costumo usar ORDER apenas com número, OrdSetFocus() pra selecionar pelo nome, mas aí acima não sei dizer o que está usando, ou se isso realmente é válido.
Não vi chamada entre os dois fontes, não sei o que um tem a ver com o outro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por JoséQuintas »

Se a primeira rotina não chama a segunda.....
Como a segunda altera a primeira ?

Supondo que a segunda rotina trabalha com um temporário pra atualizar a primeira.....
É de se imaginar que deve ter uma rotina de atualização entre a saída da segunda, e a volta pra primeira.
Então, há fonte sendo executado que não estamos vendo aqui.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

POSIÇÃO DO REGISTRO AO RETORNAR PRA TELA ANTERIOR TBROWSER

Mensagem por JoséQuintas »

Encontrei um erro.....

Código: Selecionar todos

select( cAlias )
set order to nOrdem
Select() é uma função pra retornar o número da área.
Se quer mudar de área, é o comando SELECT, e não a função, não pode "grudar" as coisas.

Não sei se xharbour faz diferente... disse que funciona no xharbour...

Se quiser tirar a dúvida disso, compile com -p e olhe o PPO gerado.
Veja se é diferente na compilação do harbour e do xharbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder