Nesse caso, a única coisa que me ocorreu é vc estar usando várias libs, tipo hmg, gtwvt, gtwvw, etc. Eu não conheço essas libs , só a hmg mas nunca misturei.
Eu acho que é isso, mas não tenho experiência, é só achismo mesmo.
Nem sei se preciso de todas elas, vou acrescendo à medida que surge uma nova função que preciso, quase sempre por recomendação de alguém aqui do fórum.
Será que o problema poderia estar sendo causado por alguma dessas?
@ 05,03 SAY "Nome : " GET cNome VALID ( ALERT( "O CURSOR E " + str(SET( _SET_CURSOR) ) ) , .T. ) @ 07,03 SAY "Pessoa : " GET cPessoa VALID ( ALERT( "O CURSOR E " + str(SET( _SET_CURSOR) ) ) , .T. ) @ 09,03 SAY "Observacao : " GET cObs VALID TESTCURSOR() @ 11,03 say "Outra obs : " GET cObs2 VALID ( ALERT( "O CURSOR E " + str(SET( _SET_CURSOR) ) ) , .T. ) SET( _SET_CURSOR , 1 ) ALTD() READ SET( _SET_CURSOR , 0 )
RETURN
FUNCTION TESTCURSOR
ALERT("VOU APAGAR CURSOR") SET( _SET_CURSOR , 0 )
RETURN .T.
1. No Harbour ele não desativa o Cursor (harbour 3.2 32bits compilado com gcc 5.3)
2. No Clipper 5.2e ele desativa o cursor de dentro do Valid conforme o esperado.
Nota: eu compilei com o MS-DOS não virtualizado, dei o boot por um pendrive.
Conclusão: o comportamento de um cursor de dentro de um get funciona diferente no harbour. Será que é a versão do Harbour que eu compilei aqui ? Alguém poderia testar esse exemplo que eu coloquei só para confirmar ?
Esqueça o SET CURSOR OFF Talvez na função de usuário do tbrowse colocar SET CURSOR ON, apesar que procurei nos fontes do tbrowse e não achei nada sobre cursor. Lembro que no Clipper o cursor era desligado no tbrowse, é possível que o Harbour faça igual.
Ou mais ainda: O que fez de diferente nesse tbrowse? provavelmente tem a ver. Se foi função de usuário.... é colocar o SET CURSOR ON lá.
Não tenho função de usuário nesse tbrowse. Mas tenho sim várias funções chamadas nele, usando if nkey==. Mas em nenhuma delas eu uso set cursor off. Teria qualquer outra coisa que causaria o sumiço do cursor para eu procurar?
CJP, olha esse vídeo com o programa compilado em clipper 5.2e
Com Harbour não funciona. No Harbour o setcursor não funciona dentro de gets, testei no linux também. Agora quando saimos do programa o cursor do Console do windows "some".
cjp escreveu:Não tenho função de usuário nesse tbrowse. Mas tenho sim várias funções chamadas nele, usando if nkey==. Mas em nenhuma delas eu uso set cursor off. Teria qualquer outra coisa que causaria o sumiço do cursor para eu procurar?
Mas veja que estou colocando o set cursor on (ou o setcursor(nCursor)) no início, e mesmo assim o cursor não está aparecendo logo de início, antes mesmo de teclar qualquer tecla no tbrowse (ou seja, antes mesmo de ele executar qualquer função chamada de dentro do tbrowse). Como pode isso?
Aí complicou. Lembra de alguma alteração recente? Procure em todos os fontes se colocou pra teste "SET CURSOR" De repente começou a colocar SET CURSOR ON e SET CURSOR OFF, e acabou deixando em algum lugar. Ou wvt_SetGui() ou outra coisa.
Nota: pelo editor de textos, geralmente tem a opção de procurar em todos os fontes de uma vez.