Novo teste GTWVG x HWGUI

Projeto HwGui - 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

Novo teste GTWVG x HWGUI

Mensagem por JoséQuintas »

Consegui usar DIALOGS HWGUI na GTWVG normalmente sem multithread.
Agora preciso de ajuda numa coisa:

Código: Selecionar todos

#include "hbgtinfo.ch"

PROCEDURE PTESHWGUI( cModule, cTitle, ... )

   LOCAL cnSQL := ADOLocal(), oBrowseList, oDlg

   WITH OBJECT cnSQL
      :Execute( "SELECT * FROM JPCIDADE" )
      oBrowseList := { ;
         { "IDCIDADE", { || Str( :Number( "IDCIDADE" ), 6 ) } }, ;
         { "NOME", { || :String( "CINOME", 60 ) } }, ;
         { "UF", { || :String( "CIUF", 2 ) } } }
      hwguiBrowse( cTitle, cnSQL, oBrowseList, @oDlg )
      MsgExclamation( :String( "CINOME" ) )
      :CloseRecordset()
   ENDWITH

   ( cModule )

   RETURN
Com multithread, e DIALOG MODAL, isso funciona direito.
Isso seria parte da janela, vai criar o recordset usado no browse da hwgui, e AGUARDAR o retorno.

Com DIALOG NOMODAL isso muda de figura, porque a rotina NÃO aguarda mais a DIALOG, e já continua e fecha tudo.

A pergunta tem tudo a ver com HWGUI:
Como faço isso fazer parte da DIALOG HWGUI?
Lógico, deixando a parte do retorno de lado, por enquanto.
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

Novo teste GTWVG x HWGUI

Mensagem por JoséQuintas »

Código: Selecionar todos

FUNCTION HwguiBrowse( cTitle, cnSQL, oBrowseList, oDlg )

   LOCAL oBrowse, cFilter := ""

//   INIT WINDOW oDlgPesquisa TITLE cTitle AT 9, 0 SIZE AppWidth(), AppHeight()
   INIT DIALOG oDlg AT 0, 0 SIZE AppWidth() , AppHeight() TITLE cTitle

   MsgStop( Str( AppWidth() ) + "," + Str( AppHeight() ) )
   @ 1, 1 BROWSE ARRAY oBrowse ;
      SIZE AppWidth() - 10, AppHeight() - 10 STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL + DS_CENTER ;
      ON CLICK { || hwg_EndDialog( oDlg:Handle ) }
   oBrowse:aArray := cnSQL
   BrowseSet( oBrowse, oBrowseList, oDlg, @cFilter )

   ACTIVATE DIALOG oDlg NOMODAL
   //ACTIVATE WINDOW oDlgPesquisa

   RETURN Nil
A dialog é essa
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

Novo teste GTWVG x HWGUI

Mensagem por JoséQuintas »

Esqueçam, não precisa, é só deixar a variável por conta da dialog.
E no evento close() da Dialog fechar o recordset.

Deu quase certo....
Falta segurar a dialog NOMODAL, porque ela fecha sozinha após o ACTIVATE.
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

Novo teste GTWVG x HWGUI

Mensagem por JoséQuintas »

hwgui.png
Duas situações diferentes:
Como consigo ativar/desativar multithread no aplicativo....
Uma Dialog MODAL em multithread, livre
Uma Dialog MODAL sem multithread, bloqueou a tela do aplicativo, o que é normal.

Usando HWGUI normalmente junto com o aplicativo.

Fiz igual a GTHWG:

Código: Selecionar todos

FUNCTION HB_GT_GUI
   RETURN Nil

FUNCTION HB_GT_GUI_DEFAULT
   RETURN Nil
Já dialog NOMODAL não deu certo.
Se após ACTIVATE colocar Inkey(10), por exemplo, é por esse tempo que ela funciona 10 segundos.
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

Novo teste GTWVG x HWGUI

Mensagem por JoséQuintas »

Pra quem usa console e não está acostumado com esses termos:

Janela MODAL é uma janela que quando abre bloqueia as outras. Só libera as outras quando for fechada.
Então... normal o comportamento.

À primeira vista, qualquer um pode usar hwgui misturado com o aplicativo normal.
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