Problema com GET - DE NOVO

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

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

Problema com GET - DE NOVO

Mensagem por JoséQuintas »

Tem lá o get com valid, que é no LOSTFOCUS.

Código: Selecionar todos

      IF ! Empty( bValid )
         ON LOSTFOCUS Eval( bValid )
      ENDIF
Se está numa TABPAGE funciona, se está sem TABPAGE não funciona.

O que pesquisar numa hora dessas ?
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

Problema com GET - DE NOVO

Mensagem por JoséQuintas »

lostfocus1.png
lostfocus2.png
A coisa fica mais legal ainda quando a gente acha que achou o problema/solução....

Código: Selecionar todos

#include "frm_class.ch"

FUNCTION frm_Valid( Self, aItem )

   LOCAL nSelect, lFound := .T., xValue, nPos

   MsgExclamation( "Entrou no frm_Valid, verificando button" )
   // if btn cancel abort validate (current on hwgui only)
   nPos := hb_AScan( ::aControlList, { | e | e[ CFG_CTLTYPE ] == TYPE_BUTTON .AND. ;
      e[ CFG_CAPTION ] == "Cancel" } )
   IF nPos != 0
      IF GUI():IsCurrentFocus( ::xDlg, ::aControlList[ nPos, CFG_FCONTROL ] )
         RETURN .T.
      ENDIF
   ENDIF
   MsgExclamation( "Continuando" )

   xValue := GUI():ControlGetValue( ::xDlg, aItem[ CFG_FCONTROL ] )
   IF aItem[ CFG_ISKEY ]
      MsgExclamation( "Entrou no ISKEY" )
      IF aItem[ CFG_FTYPE ] == "C"
Então.....

Testo se o foco está no CANCEL, porque se o usuário clicou em CANCEL aborta.
Acontece que no LOSTFOCUS do código, o foco vai pro CANCEL mesmo sem clicar.

Então tá errado ?
Mas com TABPAGE funciona.....

Talvez o VALID.... abandonado por outro problema...

Alguma idéia ?

Nota: só tem os dois controles ativados, o GETBOX e o BUTTONEX.
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

Problema com GET - DE NOVO

Mensagem por JoséQuintas »

Já sei....

Mesma solução adotada num bug parecido de HWGUI e FIVEWIN: UM GET FANTASMA

Se tiver um get a mais, escondido, o foco vai pra ele e não pro button.

Até que as LIBs não são tão diferentes assim....

Código: Selecionar todos

   IF GUI():LibName() $ "FIVEWIN,HWGUI"
      /* dummy textbox to works last valid */
      AAdd( ::aControlList, EmptyFrmClassItem() )
      Atail( ::aControlList )[ CFG_CTLTYPE ] := TYPE_BUG_GET

      GUI():TextCreate( ::xDlg, ::xDlg, @Atail( ::aControlList )[ CFG_FCONTROL ], ;
         nRow, nCol, 0, 0, " ", "", 0, { || .T. },,,@Atail( ::aControlList )[ CFG_FCONTROL ], Self )

   ENDIF
Resta testar se vai dar certo adicionar aí pra HMGE.

Mas que é um saco é...
É corrigir o que estava funcionando... porque o que funciona não funciona...

Pois é....
Entra a criatividade do programador, não pra criar, mas pra resolver bugs que passaram a existir..... kkkk
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

Problema com GET - DE NOVO

Mensagem por JoséQuintas »

Deu certo, resolvido.
Liberei o get fantasma pra todas as LIBs.
É um get a mais só pra tapa-buraco, só pra sempre existir um próximo foco.
Isso resolve VALID em HWGUI e FIVEWIN, e resolve o CANCEL da MINIGUI, também relacionado com validação.
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