Clipper On Line • Ver Tópico - Novo teste GTWVG x HWGUI

Novo teste GTWVG x HWGUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Novo teste GTWVG x HWGUI

Mensagempor JoséQuintas » 30 Out 2021 20:50

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

#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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Novo teste GTWVG x HWGUI

Mensagempor JoséQuintas » 30 Out 2021 20:51

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Novo teste GTWVG x HWGUI

Mensagempor JoséQuintas » 30 Out 2021 21:14

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Novo teste GTWVG x HWGUI

Mensagempor JoséQuintas » 30 Out 2021 21:39

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:
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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Novo teste GTWVG x HWGUI

Mensagempor JoséQuintas » 30 Out 2021 21:50

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro