none
Orden de Ejecucion entre FORMS RRS feed

  • Pregunta

  • Hola amigos, tengo   un problema “misterioso” que quiero comentar, lo mismo es una bobada pero ahí va:

    Tengo un FORM1 que incluye un botón para abrir un FORM2 :   es decir se hace form2.show()

    El evento Form2_Load incluye la inicialización de algunas variables y la llamada a 3 procedimientos que se deben ejecutar antes que nada.

    Hago una ejecución paso a paso y ocurre que después de la llamada form2.show() , se abre el form2, pasa a la primera línea de Form2_Load , se ejecuta esta línea y luego VUELVE atrás a form2.show() !!!!!!!!!!!!!!!!!!   y no ejecuta mas líneas de Form2_Load … con lo que se me quedan dos procedimientos en el evento Form2_Load por ejecutar….

    ¿Sabe alguien que pasa aquí?

    Muchas gracias

    domingo, 14 de febrero de 2010 9:00

Respuestas

  • Hola:

    Es raro lo que nos comentas, de hecho, yo no puedo reproducir dicha situación.

    Cuando se llama al método Show, se ejecutará todo el código existente en el evento Load del formulario, y si ahí existen tres, cuatro, veintiocho llamadas a distintos procedimientos, en principio entiendo que se deberán de ejecutar todas ellas.

    Digo "en principio", porque si en dicho evento tienes un bloque Try ... End Try, y si en el primer procedimiento se produce una excepción no controlada, puede suceder que se abandone el evento Load sin llegar a ejecutarse las llamadas a los restantes procedimientos.

    Revisa bien el código de los procedimientos que llamas desde el evento Show de Form2.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    • Marcado como respuesta compilando domingo, 14 de febrero de 2010 19:40
    domingo, 14 de febrero de 2010 10:22
    Moderador

Todas las respuestas

  • Hola:

    Es raro lo que nos comentas, de hecho, yo no puedo reproducir dicha situación.

    Cuando se llama al método Show, se ejecutará todo el código existente en el evento Load del formulario, y si ahí existen tres, cuatro, veintiocho llamadas a distintos procedimientos, en principio entiendo que se deberán de ejecutar todas ellas.

    Digo "en principio", porque si en dicho evento tienes un bloque Try ... End Try, y si en el primer procedimiento se produce una excepción no controlada, puede suceder que se abandone el evento Load sin llegar a ejecutarse las llamadas a los restantes procedimientos.

    Revisa bien el código de los procedimientos que llamas desde el evento Show de Form2.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    • Marcado como respuesta compilando domingo, 14 de febrero de 2010 19:40
    domingo, 14 de febrero de 2010 10:22
    Moderador
  • Hola:

    Es raro lo que nos comentas, de hecho, yo no puedo reproducir dicha situación.

    Cuando se llama al método Show, se ejecutará todo el código existente en el evento Load del formulario, y si ahí existen tres, cuatro, veintiocho llamadas a distintos procedimientos, en principio entiendo que se deberán de ejecutar todas ellas.

    Digo "en principio", porque si en dicho evento tienes un bloque Try ... End Try, y si en el primer procedimiento se produce una excepción no controlada, puede suceder que se abandone el evento Load sin llegar a ejecutarse las llamadas a los restantes procedimientos.

    Revisa bien el código de los procedimientos que llamas desde el evento Show de Form2.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    B] Gracias por tu ayuda Enrique , creo que llevas razón y que esto sólo ocurre porque en uno de los procedimientos se generaba una excepción, entonces se salía del evento Form_load. Antes de ver tu respuesta, agrupé todo el código en un único procedimiento y debí arreglar la excepción porque entonces ya no fallaba... no cabe pensar otra cosa...
    domingo, 14 de febrero de 2010 19:44