Por hora, fico ainda tentando usar o meu, que dá alguns desconfortos mas, está funcionando.
Bom, pessoal, observem minha imagem abaixo: Então é o seguinte, para os GETs estão funcionando corretamente.
Só que observem que esta imagem o usuário está no cadastro de orçamentos (pci10001).
Mas, num determinado momento ele pressionou (dentro de um dos GETs) a função F2 para usar a CALCULADORA ou CALENDÁRIO ou qualquer outra opção disponível no sub-menu UTILITÁRIOS.
Então ao sair da CALCULADORA, etc, ele pressionou ESC e até aí funcionou sem nenhum problema. Agora ao pressionar a tecla ESC novamente para sair do sub menu UTILITÁRIOS, o sistema interpretou que deveria perguntar se realmente era pra sair com a mensagem:
Então, nem se pressionar SIM ou NÃO, o sistema fica em loop e não "sai de jeito nenhum"!TECLA <ESC> FOI PRESSIONADA
? DESEJA REALMENTE CANCELAR SEM CONCLUIR
<SIM> <NÃO>
Ops, só sai se clicar no <X> da janela que está programado para fazer outra pergunta e se confirmada com <SIM> aí o sistema é fechado completamente.
Mas, isso pra nós não é constrangimento algum. Agora para o usuário que está fazendo um orçamento e de repente o sistema não vai nem pra frente e nem para trás, ele(a) vai nos mandar pra tudo quanto é lugar, e, isso pode dar um desgaste com o nosso cliente que nos paga para o sistema funcionar "tinindo".
O estranho e, que não consigo compreender que o código está assim:
Código: Selecionar todos
... diversos GETs
...
bOldBlock := SetKey( K_ESC, {|| escape_or_stay() } )
readexit (.t.)
read
// MyRead() // acrescentado temporariamente como sugestão do JQuintas/pctoledo 28/12/15w. // eliminado temporariamente 28/12/15w.
readexit (.f.)
SetKey( K_ESC, bOldBlock )Então, para entrar nesse sub-menu UTILITÁRIOS o usuário pressiona F2, ou seja, pelas linhas:
Código: Selecionar todos
...
set key TECLA_UTIL to UTIL_PROG
function UTIL_PROG (PROGRAMA,LINHA,VARIAVEL)
aadd (MATRIZ,{'Dos ',{|| DOS ()}})
aadd (MATRIZ,{'Calend rio ',{|| CALENDARIO (VARIAVEL)}})
aadd (MATRIZ,{'Calculadora ',{|| CALCULADORA (VARIAVEL)}})
aadd (MATRIZ,{'Tabela ASCII ',{|| TAB_ASCII (VARIAVEL)}})
aadd (MATRIZ,{'Impressora ',{|| IMPRESSORA ()}}) // mudado de IMPRESSO para IMPRESSORA 28/2/15w para poder compilar em Harbour
aadd (MATRIZ,{'Editor ',{|| EDITOR ()}})
...Noutros lugares acontecem o mesmo.
Alguém tem alguma ideia de como resolver?
Abraços!


