Em uma programa customizado, Window-Cadastro-PaixFilho eu habilitei a edição diretamente no Browse de um campo "log", deixei-o como enable e toggle-box, até aí blz, aparentemente funcionou tudo perfeito, porém ele não está salvando o último flag que o usuário marcou, ele flega vários registros direto no Browse e todos ficam armazenados, menos o último que ele marcou. Isso acontece somente se logo após ele flegar os itens ele mudar de registro ou sair do programa, se ele selecionar outro item do browse antes de sair aí ele salva tb o último marcado. Alguém já se deparou com este problema ? Teriam alguma solução.
Já tive esse problema antes, o que acontece é que o value-changed não é disparado se não mudamos o foco. No meu caso resolvi forçando um APPLY "value-changed" TO SELF no evento ROW-LEAVE, pois o ROW-LEAVE é sempre disparado ao sair do registro (seja clicando em algum objeto da tela ou simplesmente fechando o pgma).
eu faço sempre um on leave of campo in browse ....... , lá eu faço Código: on 'leave' of campo in browse ..... do: find current tabela exclusive-lock. assign tabela.campo = self:input-value. find current tabela no-lock. end.