Sou novo neste grupo HWGui, estou me aventurando nesta LIB, decidi mudar de GTWvw o qual esta dando muito problemas para outra e escolhi a HWGui.
Tenho um programa ja em funcionamento com GTWVW de monitoramento do banco de dados e estou passando ele para HWgui e ja em modo surdina no sistray.
Bom, como sou leigo nesta linguagem HWGui eu estou apanhando um bucado dela, visto que programo ainda da forma procedural do clipper e necessito ajuda neste tópico para eu poder entender como funciona.
o antigo fonte faz assim:
1-INICIA
2-ABRE ARQUIVOS
3-MONITORA (LOOP ATÉ QUE SEJA FINALIZADO)
4-FINALIZA
5-FECHA
Já na HWGUI com as janelas e no fim é ativada fiquei muito perdido.
Segue o código inicial.
Código: Selecionar todos
Function Main()
///INICIALIZAÇÃO DE VARIAVEIS
Local oBmpFundo:=HBITMAP():ADDFILE("img\fundo.bmp")
Local oSplash
Private oMainWindow, oTrayMenu, oTimer1
Private oIcon:= HIcon():AddResource("ICON_1")
Private oMens1:="Iniciado"
Private oMens2:="Monitoramento"
Private wSistema:="MONITORE"
Public wD_Instal:="\"+CurDir()+"\" //instalacao
Public wD_Images:=wD_Instal+"img\" //pasta das imagens do sistema
Public wD_Audios:=wD_Instal+"img\" //pasta de audio do sistema
INIT WINDOW oMainWindow MAIN TITLE wSISTEMA
AT 0,0 BACKGROUND BITMAP oBmpFundo
SPLASH oSplash TO wD_Images + "SPLASHFOGO.JPG" TIME 2000
CONTEXT MENU oTrayMenu
MENUITEM "Monitorar" ACTION {|| Hwg_msginfo("Tela de monitoramento")}
SEPARATOR
MENUITEM "Finalizar?" ACTION {|| Sair()}
ENDMENU
oMainWindow:InitTray(oIcon,,oTrayMenu,wSistema,oMens1,oMens2) ///joga o sistema no sistray
ACTIVATE WINDOW oMainWindow NOSHOW
oTrayMenu:End()
Return
Function Sair
*************
IF Hwg_MsgYesNo("Deseja finalizar o monitoramento?","ATENÇÃO!")
oMainWindow:Close()
quit
endif
Return
o problema é, aonde coloco meu codigo de execução abaixo:
//configura a entrada no sistema, variaveis etc...
Configura_Sistema() //carrega as variaveis necessarias
//
Abrebancodedados() //abre os dbf da vida por enquanto, depois parto para sql. o qual ja estou convicto em 99% para mudar, mas o 1% que ta dificil (rsrsrs)
//
Monitorabanco() (em loop para que seja finalizado apenas ao ser solicitado), aqui vai verificar internet, verificar os dados, criar arquivos txt para envio, etc,
//
finaliza_sistema() //finaliza o programa
Bom a função monitorabanco() deverá ficar em execução e tbem deverá ser chamada no menu TRAY para que seja visualizado os processos na tela, não é para executar novamente, e sim voltar a tela que iniciou na surdina, não sei se me expressei bem para ser entendido.
Aguardo retorno
Grato pela ajuda
8-|

