Programación General > Visual Basic para principiantes

 Cerrar Formulario Hijo

(1/2) > >>

andresfulo:
tengo una aplicación en visual basic 6 en la que tengo un formulario MDI padre que llama a unos u otros formularios hijos según se le ordene. La llamada la realiza con un "nombreformhijo.Show", y para cerrar estos form hijo utilizo "unload", con esto se descarga el form hijo de memoria y retorna al form padre, el problema es que al volver al form padre se ejecuta de nuevo la instrucción que había llamado al form hijo y este se ejecuta de nuevo. Cómo puedo cerrar el form hijo y que retorne al padre sin más...?

DiabloRojo:
En qué parte del form padre mandas a cargar los formulariuos hijos?. Por lo que dices parece que lo hicieras en el evento Activate del form padre. Si es así podrías utilizar una variable de tipo lógico que te indique si determinado form hijo ya fue cargado o no. De cualquier forma postea el código a ver cual es el error.

Saludos.


DiabloRojo.

andresfulo:
el código del formulario padre es el siguiente:

Private Sub Consumo_Bateria_Conjunto_Click()
    Formulario_Consumo_Conjunto.Show
End Sub

Private Sub Consumo_Bateria_GPS_Click()
    Formulario_Consumo_GPS.Show
End Sub

Private Sub Consumo_Bateria_GSM_Click()
    Formulario_Consumo_GSM.Show
End Sub

Private Sub MDIForm_Load()
    Call EnlazarBase
End Sub

Private Sub MDIForm_Unload(Cancel As Integer)
    End
End Sub

Private Sub Base_Datos_Click()
    Formulario_BaseDatos.Show
End Sub

Private Sub Iniciar_Medidas_Click()
    Formulario_Medidas.Show
End Sub

Private Sub Cerrar_Aplicación_Click()
    End
End Sub

y para cerrar el form hijo utilizo:

Private Sub Form_Unload(Cancel As Integer)
    Call cerrarpuertos
    Unload Me
End Sub

Private Sub Finalizar_Medidas_Click()
    Call cerrarpuertos
    Unload Me
End Sub

El Sub Finalizar_Medidas_Click() sirve para cerrar el formulario hijo mediante una opción del menú.

cpmario:
En el código que muestras no está la causa del error.
Te aconsejo que con las herramientas de la barra de depuración sigas 'paso a paso' lo que hace el código hasta que descubras cual es la línea que hace que se cargue nuevamente la forma hija.

 :comp:

andresfulo:
Dentro del formulario hijo tengo una serie de bucles en los que se van tomando medidas sin parar...Al llamar al unload en el formulario hijo se cierra la ventana, pero automáticamente se reinicia el form hijo. Ejecutandolo paso a paso, tras el unload, el programa vuelve a la instrucción donde se había quedado y posteriormente empieza de nuevo en Fom_load....no entiendo porque vuelve a ejecutarse el Form_load??

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa