Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Evitar La Ejecución De Una Función
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Evitar La Ejecución De Una Función 
 
hola

pongamos este ejemplo:

Public sub btnsalir_click()
codigo1
end

Public sub Form_Close()
codigo1
end

si salimos de la aplicación con el boton X de la parte superior derecha el programa ejecuta el codigo y luego se cierra, hasta aquí todo normal, el problema es con el boton Salir, a precionarlo hace ejecuta su codigo pero como a la vez se esta cerrando la aplicacion tambien se ejecuta el codigo del Form_Close.

por eso pregunto: si salgo de la aplicacion con el boton Salir como haga para que el codigo Form_Close no se ejecute.
 



 
obedlink - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Evitar La Ejecución De Una Función 
 
Hola

Primero hay que saber qué código se ejecuta en cada evento. El código del evento form_close se ejecuta siempre, por lo que tendrás que decidir qué es lo que quieres hacer en cada caso. Usando la instrucción Stop Event lo que haces es inhibir el evento, por lo que si lo pones en el botón click con un condicional podrás controlar mejor lo que hagas. Con un ejemplo lo verás mejor:

Private flag As Boolean

Public Sub Button1_Click()
    flag = True
    Me.Close
End

Public Sub Form_Close()
    If flag Then
        Stop Event
        Print "no se puede cerrar desde el botón"
        flag = False 'restauramos el flag a false para que podamos cerrar desde la X
    Endif
End


Si desde cualquier otra parte del formulario volvemos a poner flag = false, entonces el botón cerrará el formulario.

Ahora es cuestión de que apliques tu propia lógica,

saludos.
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Evitar La Ejecución De Una Función 
 
Yo añadiría que eso es un error de concepto. "Haz las cosas una sola vez".

-¿El botón salir cierra el formulario? pues entonces no debería ejecutar la función.
-¿El formulario puede ser cerrado sin tener que ejecutar la función? Entonces el evento Close no debería ejecutarla

La manera clásica de controlar estas cosas son los flags, que tan conejudamente te ha descrito Jesús. Pero hay otras formas y "El conceto es el conceto", que decía el de "Airbag"....
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Evitar La Ejecución De Una Función 
 
que cabezón soy el comando "Stop Event" no es necesario con la variables boolean es suficiente
gracias por la ayuda chicos.

no se si puedo aprovechar el post o hacer otro, pero al crear el paquete de instalación de mi aplicacion como le digo a gambas que el acceso directo a mi aplicación se ejecute con kdesudo ejemplo: "kdesudo app-gambas"
 



 
última edición por obedlink el Martes, 09 Abril 2013, 17:58; editado 1 vez 
obedlink - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Evitar La Ejecución De Una Función 
 
Mejor crea un hilo nuevo, que este no tiene nada que ver con el sudo y derivados.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Evitar Letras En Textbox CanihoJR General 6 Jueves, 24 Septiembre 2009, 22:51 Ver último mensaje
CanihoJR
No hay nuevos mensajes Evitar Repetir Letras Dani26 Aplicaciones/Fragmentos de Código 1 Sabado, 19 Junio 2010, 11:26 Ver último mensaje
Emmet
No hay nuevos mensajes Evitar Autoguardado inforpalma Instalación 5 Domingo, 13 Enero 2019, 21:06 Ver último mensaje
jsbsan
No hay nuevos mensajes Evitar Cuelgue Por Desconexion alessandri Bases de Datos 76 Lunes, 30 Marzo 2020, 18:04 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron