Stop Event ó Return - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Stop Event ó Return (/thread-1840.html) |
Stop Event ó Return - Shell - 14-01-2025 Buenas!. El efecto que hace es el mismo en esta situación. Cada vez que se hace clic en el botón la cantidad de cuenta aumenta. Cuando esta supera dos, el evento se cancela o por lo menos se sale del proceso mediante Return sin devolver ningún valor. En Gambas no existe Exit Sub, por eso lo de sustituirlo con Return. Código: Private cuenta As Integer ¿ Qué opinan ?. Fijaros en esta situación: Tenemos este procedimiento. Escribo la parte que interesa. Código: Public Sub Botones_Click() de la condicional y ejecuta la instrucción inferior. ¿ No debería Stop Event haber salido del evento sin continuar con las instrucciones inferiores ? Saludos RE: Stop Event ó Return - omoreno - 14-01-2025 [quote pid="9162" dateline="1736859902"] ¿ No debería Stop Event haber salido del evento sin continuar con las instrucciones inferiores ? [/quote] Hola Shell En la ayuda de gambas se dice: "Solo se pueden cancelar algunos eventos nativos. Esto tiene como objetivo principal permitirle reemplazar el comportamiento predeterminado del teclado y el mouse por un comportamiento diferente de su elección." Saludos. RE: Stop Event ó Return - Harpo - 14-01-2025 Stop Event evita la "propagación" del evento, no termina la ejecución del procedimiento, el código siguiente a la instrucción se ejecuta. Esta instrucción hace que el código interno del control no se ejecute. Return termina el procedimiento y no ejecuta las instrucciones siguientes, pero el evento interno del control se ejecuta. Un ejemplo: Código: Public Sub Form_Close() Un saludo, Harpo. RE: Stop Event ó Return - Shell - 14-01-2025 Gracias a los dos. Pensaba que al cancelar el evento, el código inferior a esa instrucción no se iba a ejecutar, son cosas distintas, claro. RE: Stop Event ó Return - Shordi - 16-01-2025 (14-01-2025, 15:05)Shell escribió: Buenas!. Stop Event no es lo mismo que Return. Ya sabes que en Gambas los eventos se transmiten en la jerarquía de controles de arriba a abajo. Es decir al pulsar una tecla primero se evalúa el Form_Keypress y luego el, por ejemplo, TextBox_KeyPress. Estos controles tienen un evento de ese tipo y sólo si no hemos definido nada, se ejecuta el evento por defecto y luego se propaga hacia abajo. Así, si por ejemplo no quieres que aparezca la ñ en ningún textbox, puedes en Form_keypress preguntar por el key.code = key["ñ] (escribo de memoria) y si se cumple STOP EVENT evitará tener que comprobarlo en los textbox uno a uno. Return, por su parte, sólo finaliza el evento que hayamos declarado. Saludos RE: Stop Event ó Return - Shell - 16-01-2025 Así es Shordi. Al pensar que se paraba el evento, creía que se paraba todo el proceso. Return en mi caso no me interesaba. |