Divergência entre DbEdit e TBrowse atualização da tela
Enviado: 23 Mai 2021 16:09
Identifiquei uma divergência entre o DbEdit e TBrowse quanto a posição do cursor na tela, que causa a impressão de ter problema de indice no arquivo de dados.
Antes sempre utilizava o Dbedit porem com necessidade de pintar algumas linhas conforme o status do produto passei alguma rotinas para uso com TBrowse. Na coluna Descrição permito que o usuário digite as iniciais do item a ser localizado e assim faço a busca e caso exista a tela sofre um refresh e o item é exibido. No caso do TBrowse faço a mesma busca e as vezes não era posicionado no item buscado mesmo sendo localizado.
Fiz vários testes e descobri que se usar a seta para baixo ou chegar até o final da lista de itens, fazer a busca mesmo dando um refreshAll no TBrowse o item não mostra como posicionado.
Pensei que fosse devido no meu TBrowse ter outras rotinas, mas isolei o código e montei um sistema a parte para testes entre o DbEdit e o TBrowse e aconteceu o mesmo.
Creio que o problema esteja na função que vai no brw:skipblock({|_1| MOV_PTR(_1)}) lembro de ter pego aqui no fórum em algum exemplo, como funcionou de boa para o trivial passei a usá-la.
Anexei o sistema que fiz a parte esta em um arquivo RAR e mudei a extensão de RAR para TXT para poder anexar aqui no fórum.
Já esta compilado é só testar o roteiro que coloquei.
Compilado com Hb 3.2
Antes sempre utilizava o Dbedit porem com necessidade de pintar algumas linhas conforme o status do produto passei alguma rotinas para uso com TBrowse. Na coluna Descrição permito que o usuário digite as iniciais do item a ser localizado e assim faço a busca e caso exista a tela sofre um refresh e o item é exibido. No caso do TBrowse faço a mesma busca e as vezes não era posicionado no item buscado mesmo sendo localizado.
Fiz vários testes e descobri que se usar a seta para baixo ou chegar até o final da lista de itens, fazer a busca mesmo dando um refreshAll no TBrowse o item não mostra como posicionado.
Pensei que fosse devido no meu TBrowse ter outras rotinas, mas isolei o código e montei um sistema a parte para testes entre o DbEdit e o TBrowse e aconteceu o mesmo.
Creio que o problema esteja na função que vai no brw:skipblock({|_1| MOV_PTR(_1)}) lembro de ter pego aqui no fórum em algum exemplo, como funcionou de boa para o trivial passei a usá-la.
Anexei o sistema que fiz a parte esta em um arquivo RAR e mudei a extensão de RAR para TXT para poder anexar aqui no fórum.
Já esta compilado é só testar o roteiro que coloquei.
Compilado com Hb 3.2