Janelas hwgui
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Alguma coisa impede ter várias janelas?
Por exemplo: título repetido
Por exemplo: título repetido
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Ainda estou tentando ajustar isso, QUE NÃO TEM A VER COM O USO NORMAL.
Se usar WINDOW, no uso misturado, abre uma WINDOW, e fechando ou não, não abre mais nenhuma.
E além disso, fica alguma coisa zumbi ao sair, tendo que fechar no gerenciador de tarefas.
Também estranhei que o hmg_EndWindow() não funciona nessa janela, somente o fechar no "X".
Provavelmente tenha a ver com o problema, uma vez que fechar a janela não significa que fechou o "conjunto" janela+módulo.
Se usar WINDOW, no uso misturado, abre uma WINDOW, e fechando ou não, não abre mais nenhuma.
E além disso, fica alguma coisa zumbi ao sair, tendo que fechar no gerenciador de tarefas.
Também estranhei que o hmg_EndWindow() não funciona nessa janela, somente o fechar no "X".
Provavelmente tenha a ver com o problema, uma vez que fechar a janela não significa que fechou o "conjunto" janela+módulo.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Resolvido de não fechar.
Alterei hwg_EndWindow pra aceitar parâmetro.
Agora falta resolver o de não abrir - só abre a primeira.
Código: Selecionar todos
INIT WINDOW ::oFrm TITLE ::cTitulo AT 20, 0 SIZE 800, 600 ON EXIT hwg_EndWindow( ::oFrm )
Agora falta resolver o de não abrir - só abre a primeira.
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/
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/
Janelas hwgui
Somente Dialog, INIT WINDOW não pode abrir mais de uma. Internamente a classe das janelas as propriedades são iniciadas, somente são iniciadas novamente quando a janela é fechada.
A Dialog permite, um exemplo disso é abrir uma janela dialog e no activate dela abrir outra dialog
A Dialog permite, um exemplo disso é abrir uma janela dialog e no activate dela abrir outra dialog
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Eliminei o controle de janelas, mas ainda não resolveu, por isso perguntei.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Mas me lembrou da dialog, e isso me fez lembrar do que já comentei:
Agora preciso voltar ao meu teste inicial, quando conseguia abrir dialogs mas só fechavam na ordem em que foram abertas.
Eu estava usando hwg_EndDialog(), e isso não indica exatamente o que fechar.
Código: Selecionar todos
METHOD Close() INLINE hwg_EndDialog( ::handle )
Eu estava usando hwg_EndDialog(), e isso não indica exatamente o que fechar.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Acho que isso vai resolver.
Quando não indica o que fechar, é fechada a última da lista, que é a última que foi aberta.
Exatamente o que eu tinha mencionado como problema, quando tudo começou.
A boa notícia é que basta usar o Close().
A má notícia.... é que na criação da dialog não existe a classe e muito menos o close(), não dá pra passar como parâmetro.
Código: Selecionar todos
IF handle == Nil
IF ( oDlg := Atail( HDialog():aModalDialogs ) ) == Nil
RETURN Nil
ENDIF
Exatamente o que eu tinha mencionado como problema, quando tudo começou.
A boa notícia é que basta usar o Close().
A má notícia.... é que na criação da dialog não existe a classe e muito menos o close(), não dá pra passar como parâmetro.
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/
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/
Janelas hwgui
Dá uma pesquisada em hwg_GetModalHandle(), retorna o handle da janela, talvez jogando o handle em um vetor global
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Este troço não tá meio doido?
É... porque se é passado exatamente qual diálogo fechar, porque a pesquisa doida?
Dá a impressão de que vai fechar outro diálogo e não o que foi solicitado.
Código: Selecionar todos
FUNCTION hwg_EndDialog( handle )
LOCAL oDlg, lRes
IF handle == Nil
IF ( oDlg := Atail( HDialog():aModalDialogs ) ) == Nil
RETURN Nil
ENDIF
ELSE
IF ( ( oDlg := Atail( HDialog():aModalDialogs ) ) == Nil .OR. ;
oDlg:handle != handle ) .AND. ;
( oDlg := HDialog():FindDialog( handle ) ) == Nil
RETURN Nil
ENDIF
ENDIF
IF oDlg:bDestroy != Nil
lRes := Eval( oDlg:bDestroy, oDlg )
IF Valtype( lRes ) != "L" .OR. lRes
RETURN Iif( oDlg:lModal, Hwg__EndDialog( oDlg:handle ), hwg_Destroywindow( oDlg:handle ) )
ELSE
RETURN Nil
ENDIF
ENDIF
RETURN Iif( oDlg:lModal, Hwg__EndDialog( oDlg:handle ), hwg_Destroywindow( oDlg:handle ) )
Dá a impressão de que vai fechar outro diálogo e não o que foi solicitado.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
ok, entendi.
No caso de dialog MODAL, só pode fechar o último.
Mas em multithread, como o modal equivale a um não modal... isso não se aplica.... bingo....
Ou quase bingo... depende se resolvendo uma coisa não vai atrapalhar a outra.
No caso de dialog MODAL, só pode fechar o último.
Mas em multithread, como o modal equivale a um não modal... isso não se aplica.... bingo....
Ou quase bingo... depende se resolvendo uma coisa não vai atrapalhar a outra.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Código: Selecionar todos
CLASS VAR aModalDialogs SHARED INIT {}
Isso foge do meu uso normal.
Talvez alguma coisa do tipo
THREAD STATIC Variavel := {}
CLASS VAR aModalDialogs SETGET
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
tá complicado.
Não posso usar o Close() porque a tradução do método é feita antes da classe existir.Error BASE/1004 No exported method: CLOSE
Called from CLOSE(0)
Called from (b)FRMCLASS_SAIR(172)
Called from FRMCLASS:SAIR(172)
Called from FRMCLASS:NEW(51)
Called from PTESHWGUI(16)
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Aqui funcionou "gambiarra".
Agora inverteu: vou precisar de uma soluçào pra quando realmente for modal... kkkkk
Dialogs ilimitadas e independentes, igual GTWVG.
Código: Selecionar todos
METHOD Sair() CLASS FrmClass
Eval( { || ::oFrm:Close() } )
RETURN Nil
Dialogs ilimitadas e independentes, igual GTWVG.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Código: Selecionar todos
FUNCTION hwg_EndDialog( handle )
LOCAL oDlg, lRes, nItem
IF handle == Nil
IF ( oDlg := Atail( HDialog():aModalDialogs ) ) == Nil
RETURN Nil
ENDIF
ELSE
IF ( nItem := hb_AScan( HDialog():aModalDialogs, { | e | e:Handle == Handle } ) ) != 0
oDlg := HDialog():aModalDialogs[ nItem ]
ELSEIF ( ( oDlg := Atail( HDialog():aModalDialogs ) ) == Nil .OR. ;
oDlg:handle != handle ) .AND. ;
( oDlg := HDialog():FindDialog( handle ) ) == Nil
RETURN Nil
ENDIF
ENDIF
Foi só um teste.
Agora é pensar como ter esse "novo comportamento" e o original ao mesmo tempo.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Janelas hwgui
Traduzindo:
Agora tanto faz.
Continuo usando GTWVG, mas pode ter módulos em HWGUI ou HMG.
Posso abrir ou fechar qualquer módulo a qualquer momento.
Na tela, 3 módulos GTWVG e 2 HWGUI.
Só falta ajustar pra quando eu quiser que um módulo hwgui abra outro módulo hwgui modal.
Agora tanto faz.
Continuo usando GTWVG, mas pode ter módulos em HWGUI ou HMG.
Posso abrir ou fechar qualquer módulo a qualquer momento.
Na tela, 3 módulos GTWVG e 2 HWGUI.
Só falta ajustar pra quando eu quiser que um módulo hwgui abra outro módulo hwgui modal.
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/
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/
