Só um aviso aos demais

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

Só um aviso aos demais

Mensagem por JoséQuintas »

HWGUI funciona bem.

Quem está usando, usa sem problemas.

O que tratamos em outro post, é quando se deixa em modo automático, em situações muito específicas.
Digamos que em centenas de janelas, teve uma que passou a ter problema.
Essa uma já foi resolvida, temporariamente, anulando uma alteração.
Melhor anular uma alteração do que todas.

Enquanto isso, o pessoal lá pode tentar achar uma solução melhor, porque agora tem um exemplo.

Mas o aplicativo voltou a funcionar normalmente.
Está com hwgui atualizada, apenas com uma alteração anulada.

Ele considerou que foi minha alteração, mas na verdade ele estava sem atualizar há meses.
Foi uma mudança de 06/08, agora quase 3 meses atrás, e que ainda não estava oficialmente liberada ao público.
Muitos podem ter o mesmo problema depois, se ela for liberada assim.

Isso gera uma situação interessante:
Se ele tivesse atualizado antes, teria avisado antes sobre o problema, assim que ele apareceu.
Por outro lado, se ele não tem facilidade em voltar versão anterior, complica.

Eu nem sei como se faz isso no source-forge, mas como tenho salvo no git/github, foi o que usei.

Mas é isso...

hwgui funciona bem.

Meus testes são fora do normal, então ter problemas é uma coisa 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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Só um aviso aos demais

Mensagem por JoséQuintas »

hwgui.png
Meus testes estão sendo assim.

Meu aplicativo GTWVG multithread, sem qualquer alteração, chamando as janelas hwgui em multithread.
hwgui oficial, sem qualquer alteraçã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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Só um aviso aos demais

Mensagem por JoséQuintas »

Correção, meu aplicativo com esta alteração:

Código: Selecionar todos

PROCEDURE HB_GTSYS

   REQUEST HB_GT_WVG_DEFAULT
   //REQUEST HB_GT_WGU
   //REQUEST HB_GT_WVT

   RETURN

FUNCTION HB_GT_GUI
   RETURN Nil

FUNCTION HB_GT_GUI_DEFAULT
   RETURN Nil
Acho que está entrando GTWVG no lugar da GTGUI.
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

Só um aviso aos demais

Mensagem por JoséQuintas »

JoséQuintas escreveu:Acho que está entrando GTWVG no lugar da GTGUI.
Está sim.
Se eu adicionar GT_GUI, dá duplicidade dessas funções que eu criei.

E tem outra alteração que eu fiz:

Código: Selecionar todos

FUNCTION DoPrg( cModule, cTitulo, p1, p2, p3 )

   PRIVATE m_Prog

   m_Prog := cModule
   IF "HWGUI" $ cModule
      hb_gtReload( hb_gtInfo( HB_GTI_VERSION ) )
      AppInitSets( .F. )
      Do( cModule, cTitulo, p1, p2, p3 )
   ELSE
      hb_gtReload( hb_gtInfo( HB_GTI_VERSION ) )
      HB_GtInfo( HB_GTI_WINTITLE, cTitulo )
      AppInitSets()
      SetColor( SetColorNormal() )
      CLS
      SayTitulo( cTitulo )
      @ MaxRow() - 2, 0 TO MaxRow() - 2, MaxCol() COLOR SetColorTraco()
      mHrInic := Time()
      Do( cModule, p1, p2, p3 )
   ENDIF

   RETURN Nil
esta parte:

Código: Selecionar todos

   IF "HWGUI" $ cModule
      hb_gtReload( hb_gtInfo( HB_GTI_VERSION ) )
      AppInitSets( .F. )
      Do( cModule, cTitulo, p1, p2, p3 )
Nada extraordinário.
A DIALOG MODAL bloqueia janela anterior. Então dei uma janela invisível pra ela da GTWVG com o HB_GT_RELOAD(), e ela pode bloquear à vontade, que não faz diferença.
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

Só um aviso aos demais

Mensagem por JoséQuintas »

Amiguinhos.....

Sabe aquelas horas que você diz.... sei lá....

Então .... sei lá....

Código: Selecionar todos

   IF ::type == WND_DLG_RESOURCE
      IF lNoModal == Nil .OR. !lNoModal
         ::lModal := .T.
         ::AddItem()
         Hwg_DialogBox( Nil, Self )
      ELSE
         ::lModal  := .F.
         ::handle  := 0
         ::lResult := .F.
         ::AddItem()
         Hwg_CreateDialog( hParent, Self )
      ENDIF

   ELSEIF ::type == WND_DLG_NORESOURCE
      IF lNoModal == Nil .OR. !lNoModal
         ::lModal := .T.
         ::AddItem()
         Hwg_DlgBoxIndirect( Nil, Self, ::nLeft, ::nTop, ::nWidth, ::nHeight, ::style )
      ELSE
         ::lModal  := .F.
         ::handle  := 0
         ::lResult := .F.
         ::AddItem()
         Hwg_CreateDlgIndirect( hParent, Self, ::nLeft, ::nTop, ::nWidth, ::nHeight, ::style )
      ENDIF
   ENDIF
Alterei as dialog modal pra parent NIL, e adivinhem o que aconteceu......

Aqui na GTWVG NADA, continuou tudo funcionando normalmente.

Agora pergunto:
Porque na última alteração deixou de existir Nil nisso ?

Vou tentar fazer mais testes.
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

Só um aviso aos demais

Mensagem por JoséQuintas »

Aconteceu sim..... igual na hwgui... liberou janela errada.

É muito doido isso.

É como testar situações hwgui diferentes, só de usar gtwvg.

Situações:

a) Igual estava antes OK (hwg_GetActiveWindow())
b) Com a alteração de 06/08: bloqueia dialog modal que não tem nada a ver com a história (a alteração hwg_GetModalDlg())
c) Colocando Nil, libera janela errada (talvez porque não retirei Parent = hwg_GetModalDlg(), apenas alterei a criaçã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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Só um aviso aos demais

Mensagem por JoséQuintas »

Pronto, resolvido.
Esqueci de compilar hwgui com -DMT_EXPERIMENTAL.

Agora hwgui não enxerga as dialogs modal da outra thread, e não mexe com elas.
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

Só um aviso aos demais

Mensagem por JoséQuintas »

Editei algumas "primeiras mensagens", pra colocar um complemento nos títulos de alguns erros.
Assim fica claro que os erros são de usuário, e não de hwgui.
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