Página 1 de 1
problema con algunos comandos.
Publicado: 18 Dic 2009, 23:02
por xapu
mi nuevo problema.. es que los programas no hacen caso a este bucle:
Código: Seleccionar todo
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
entonces no puedo hacer unas cosas que necesito
Re: problema con algunos comandos.
Publicado: 18 Dic 2009, 23:28
por XPyro
Esto si que no creo que sea problema de AutoIt pero tienes otra opción y es usar GUIOnEventMode
Código: Seleccionar todo
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Hello World", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)
GUICtrlSetOnEvent($okbutton, "OKButton")
GUISetState(@SW_SHOW)
While 1
Sleep(1000) ; Idle around
WEnd
Func OKButton()
;Note: at this point @GUI_CTRLID would equal $okbutton,
;and @GUI_WINHANDLE would equal $mainwindow
MsgBox(0, "GUI Event", "You pressed OK!")
EndFunc
Func CLOSEClicked()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;and @GUI_WINHANDLE would equal $mainwindow
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...")
Exit
EndFunc
Re: problema con algunos comandos.
Publicado: 21 Dic 2009, 09:28
por Ximorro
EL bucle inicial está bien escrito, probablemente el problema es que el programa no está ejecutándolo, estará en otro bucle o parado por otro sitio...
O si lo has simplificado y en realidad contiene otras cosas, igual son muy "pesadas" y casi no le da tiempo a comprobar los eventos, en ese caso quizás el método que te pone XPyro lo solucione.
Si acaso pon más código a ver qué puede estar pasando... ¿no tendrás dos GUIs? Si tienes dos igual se están liando los eventos, tienes que mirar de qué ventana vienen...