Bencz, agora não está executando minha_função(). Eu salvei o teu código exatamente do jeito que está num arquivo teste.prg e compilei hbmk2 teste.prg. Precisa de alguma lib?
Josivan, tua função funcionou aqui perfeitamente. Mas não acertei colocar isso no meu programa. Quando rodo só a tua função funciona sem problema. Mas não consegui rodá-la de dentro do meu programa. Não sei se é algum problema na compilação com a gtwvt. Estou compilando assim:
compilei com a ultima versão do HB, e foi normal... veja se não ficou faltando o #include <windows.h> ( quando eu copiei o meu código do forum, veio faltando o <windows.h>...
hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @XDaJanela())
FUNCTION XDAJANELA()
DO WHILE .T.
nKey := Inkey(0, 128 + HB_INKEY_GTEVENT )
IF nKey = HB_K_CLOSE
MyEvent()
ENDIF
ThreadSleep( 500 )
ENDDO
RETURN Nil
►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)
#include "hbgtinfo.ch"
FUNCTION MAIN
HB_IdleAdd( {|| XDaJanela() } )
RETURN Nil
FUNCTION XDAJANELA()
DO WHILE .T.
nKey := Inkey(.01, 128 + HB_INKEY_GTEVENT )
IF nKey = HB_K_CLOSE
MyEvent()
ENDIF
ENDDO
RETURN Nil
FUNCTION MyEvent(eSai)
If hwg_MsgYesNo("Deseja sair do Programa?")
Quit
Endif
RETURN Nil
INIT FUNCTION AppSetup()
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PTISO
REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")
HB_CDPSELECT( "PTISO" )
SET TYPEAHEAD TO 0
SET INTENSITY ON
SET SCOREBOARD OFF
SET DELETED ON
SET SAFETY OFF
SET ESCAPE ON
SET DATE FORMAT "DD/MM/YYYY"
SET DELIMITERS TO
SET EXCLUSIVE OFF
SET WRAP ON
SET EPOCH TO 1920
SET OPTIMIZE ON
SET AUTOPEN ON
SET MESSAGE TO 23 CENTER
REQUEST DBFNTX
REQUEST DBFCDX
RddSetDefault("DBFCDX")
SETMODE(25, 80)
SetColor("W+/B")
CLS
SetColor("W+/B")
IniciaJanela()
RETURN Nil
FUNCTION IniciaJanela
cTituloJanela:="Testar fechar janela no X"
HB_gtInfo(HB_GTI_FONTNAME, "Lucida Console")
HB_gtInfo(HB_GTI_WINTITLE, cTituloJanela)
HB_gtInfo(HB_GTI_ICONFILE, "P:\GERAL\HARBOUR\HARB_WIN.ICO" )
HB_gtInfo(HB_GTI_CLOSABLE, .F. )
HB_gtinfo(HB_GTI_NOTIFIERBLOCKGUI, {|nEvent| MyEvent(nEvent)})
HB_gtInfo(HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED )
HB_GtInfo(HB_GTI_MAXIMIZED, .T. )
//HB_GtInfo(HB_GTI_ISFULLSCREEN, .T.)
RETURN Nil
FUNCTION HB_GTSYS()
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_GT_WVT
REQUEST HB_GT_WGU
REQUEST HB_GT_WVG
RETURN Nil
►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)
#include "hbgtinfo.ch"
FUNCTION MAIN
Set( _SET_EVENTMASK, INKEY_ALL - INKEY_MOVE + HB_INKEY_GTEVENT)
HB_IdleAdd( {|| XDaJanela() } )
cGet := Space(10)
@ 10, 00 SAY "TESTE COM GET" GET cGet
READ
RETURN Nil
FUNCTION XDAJANELA()
nKey := Inkey(0)
KeyBoard Chr(nKey)
IF nKey = HB_K_CLOSE
MyEvent()
Clear TypeAhead
ENDIF
RETURN Nil
►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)
FUNCTION XDAJANELA()
DO WHILE ( nKey := Inkey( 0, hb_bitOr( Set( _SET_EVENTMASK ), HB_INKEY_EXT ) ) ) == 0
ENDDO
hb_keyIns( nKey )
IF nKey = HB_K_CLOSE
fClose(nHandle)
MyEvent()
Clear TypeAhead
ENDIF
RETURN Nil
►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)