Problem with inputwindow

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

User avatar
srvet_claudio
Posts: 2030
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 34 times
Been thanked: 143 times
Contact:

Re: Problem with inputwindow

Post by srvet_claudio » Mon Feb 19, 2018 1:07 am

I think the problem is due to the mix of libraries (console, gt and HMG), any carelessness can be fatal. IMHO, I think it's best to make a clean code only with HMG.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

MICROVOLUTION
Posts: 45
Joined: Sat May 30, 2015 5:15 am
Been thanked: 2 times

Post by MICROVOLUTION » Mon Feb 19, 2018 2:28 am

srvet_claudio wrote:
Mon Feb 19, 2018 1:07 am
problem is due to the mix of libraries (console, gt and HMG)
tá aí uma coisa que eu não tinha pensado...
Então, Dr. Soto, existe uma possiblidade de no decorrer do sistema, eu separe e execute as GTs de forma separada?
Por exemplo:
a maior parte do meu sistema está usando a GTWVG, apenas esta tela quero que seja em HMG.
Então, no lugar de eu invocar a GT_WIN_DEFAULT no início do MAIN.PRG posso fazer isso apenas no módulo (PRG) em questão?
Mais ou menos assim:
Quando o aplicativo iniciar terei uma HB_GTSYS_WVG(), com o seguinte código para ser usado no MAIN.PRG:

Code: Select all

*-----------------------------------------------------------------------------*
PROCEDURE HB_GTSYS_WVG()
   REQUEST HB_GT_WVG_DEFAULT
   REQUEST HB_GT_WVG
RETURN
*-----------------------------------------------------------------------------*
Depois quando for acionado o módulo que faz um DEFINE WINDOW (100% GUI) da HMG, no início desse módulo ter uma HB_GTSYS_HMG, como exemplo abaixo, incluindo a criação da função que cria o FORM_MAIN_WINDOW:

Code: Select all

*-----------------------------------------------------------------------------*
PROCEDURE HB_GTSYS_HMG()
   REQUEST HB_GT_WIN_DEFAULT
   REQUEST HB_GT_WIN
   CRIA_WINDOW_MAIN()
RETURN
*-----------------------------------------------------------------------------*[/code
e agora só falta a função CRIA_WINDOW_MAIN():
[code]*-------------------------------------------------------------------------------
func CRIA_WINDOW_MAIN()
   DEFINE WINDOW Frm_MAIN NOMAXIMIZE NOMINIMIZE ;
      AT 0,0 ;
      WIDTH 10 ;
      HEIGHT 10 ;
      TITLE 'sistema teste' ;
      MAIN
   END WINDOW
   CENTER WINDOW Frm_MAIN
   ACTIVATE WINDOW Frm_MAIN
   MINIMIZE WINDOW Frm_MAIN // para minimizar o formulário MAIN que é apenas fictício 14/3/16w
retu
*-------------------------------------------------------------------------------
Lembrando que o include que chama a MINIGUI estará bem no início de um único módulo, o que cria o FORM_WINDOW através do DEFINE/END WINDOW:

Code: Select all

#include "hmg.ch"
todos os comandos e funções abaixo
etc
etc
return
O que acham, dá certo?
grato,
MICROVOLUTION

Post Reply