Página 1 de 1

Se me deshabilita el boton O.o

Publicado: 09 May 2014, 09:25
por avechuche
Voy a resumir lo que me pasa, tengo lo siguiente.

Código: Seleccionar todo

Func GUI()

	...
	...
	...

	GUISetState()

	While 1

		....
		....
		....

		Switch GUIGetMsg()

			Case $hBoton

				If Not _UnaFuncion(.....) Then MsgBox(...)

			Case $hBoton_2

				If Not _UnaFuncion(.....) Then MsgBox(...)

			Case $hBoton_3

				If Not _UnaFuncion(.....) Then MsgBox(...)

				...
				...
				...

		EndSwitch

                MsgBox(...)

	WEnd

EndFunc   ;==>GUI


Func _UnaFuncion()

	If HAGO_ALGO then
		return True
	Else
		Return False
	EndIf

EndFunc   ;==>_UnaFuncion

Todo funciona perfectamente, la funcion _UnaFuncion() devuelve lo que tiene que devolver según lo que sea, anda perfecto. El problema esta en que cuando hago clic en el $hBoton y llamo a la funcion, este boton se "deshabilita", lo pongo entre comillas , porque en realidad yo le puedo hacer clic pero ya no hace nada, queda como un boton que no tuviese eventos. En un momento pense que era problema de la funcion _UnaFuncion(), pero puse un MsgBox dentro del While y el loop continua perfectamente, pero aca lo mas extraño, si yo hago clic en el boton $hBoton_2 ó $hBoton_3, andan perfectamente, llaman a la función perfectamente pero otra vez van quedando deshabilitados, pero el programa en general sigue funcionando. Sinceramente no se que es lo que pasa :S

Re: Se me deshabilita el boton O.o

Publicado: 09 May 2014, 12:45
por juantxo
Igual digo la tonteria mayor del reino, pero...

¿Has probado a guardar el resultado de la funcion GUIGetMsg en una variable y comprobar esa variable en el Switch?

Incluso puedes mostrar el valor de esa variable en la consola, para ver si cambia cuando pulsas el boton o no.

Re: Se me deshabilita el boton O.o

Publicado: 09 May 2014, 15:18
por PDF
Hola

De hecho, al hacer esto "If Not _UnaFuncion(.....) Then" significa que estas llamando a la función "_UnaFuncion" con la condición de que si "_UnaFuncion" devuelve "True" no se mostrará el Mensaje, además, en esta función veo que tienes otra condición, cual es "If HAGO_ALGO then" si por "HAGO_ALGO" quieras decir que puede ser una comprobación de algo, y esa comprobación te retorna "True" la función retornará lo mismo y no se mostrará el mensaje...

En todo caso, seria bueno que pongas el codigo completo para entender mejor tu problema..

Saludos..