Problema con me.dispose
Publicado por Raul Hernandez (4 intervenciones) el 19/04/2007 22:21:20
Hola a todos, si alguien puede resolver el siguiente problema, gracias:
Tengo un Formulario (en visual basic .net 2003) llamado menu_principal, desde el cual abro otro llamado menu_p así:
============================================================================================================
'---------------------------------------------------------------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cuadro2.Click
on error goto tratar_error
'seguir es una variable global declarada en un módulo global del proyecto, que se ha colocado en true
seguir=true
Dim aux as new menu_p
aux.ShowDialog
'----------------------------------------
exit sub
tratar_error
MsgBox(Err.Description, MsgBoxStyle.Information, "Mensaje del Sistema")
end sub
'---------------------------------------------------------------------------------------------------------
en El formulario 2 en el evento activated hay una animación que muestra
dos imágenes a intervalos en un picturebox llamado "cuadro" así:
'---------------------------------------------------------------------------------------------------------
Private Sub cuadro2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cuadro2.Click
Dim tiempofinal as single
'seguir es una variable global declarada en un módulo global del proyecto, que se ha colocado en true
while seguir=true
'Cargar la primera imagen
me.cuadro.image=image.fromfile("c:\imagen1.bmp")
'-------------------------------------------
'----detener 0.5 segundos
tiempofinal=Microsoft.VisualBasic.Timer+0.5
While (Microsoft.VisualBasic.Timer < tiempofinal and seguir=true)
Application.DoEvents()
wend
'-------------------------------------------
'Cargar la segunda imágen imagen
me.cuadro.image=image.fromfile("c:\imagen2.bmp")
'-------------------------------------------
'----detener 0.5 segundos otra vez
tiempofinal=Microsoft.VisualBasic.Timer+0.5
While (Microsoft.VisualBasic.Timer < tiempofinal and seguir=true)
Application.DoEvents()
wend
'-------------------------------------------
wend
'-------------------------------------------------------
'-->esta es la instrucción que aparentemente genera error
me.dispose
'-------------------------------------------------------
end sub
'---------------------------------------------------------------------------------------------------------
Hay un botón para salir del formulario menu_p así:
'---------------------------------------------------------------------------------------------------------
Private Sub salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Picture3.Click
seguir=false
end sub
'---------------------------------------------------------------------------------------------------------
al oprimirlo se genera en el procedimiento Button1_Click de menu_priniciapal el siguiente mensaje de error:
"No se puede obtener acceso al objeto denominado "menu_p".
Nombre del objeto: "menu_p".
Al oprimir nuevamente Button1, se abre al parecer el formulario menu_p y desaparece rápidamente y allí se traba el programa.
La idea de abrir el formulario descrito, es tener en cada momento un solo formulario
al que pueda acceder el usuario.
La pregunta es: como descargar totalmente el formulario menu_p y que no se produzca el error
anterior que daña el programa.
Nota: si abro el segundo formulario con el otro método (Form.Show)
ofrezco disculpas por haberme extendido tanto en la explicación, espero entiendan la pregunta
y la puedan resolver.
=================================================================================================
Tengo un Formulario (en visual basic .net 2003) llamado menu_principal, desde el cual abro otro llamado menu_p así:
============================================================================================================
'---------------------------------------------------------------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cuadro2.Click
on error goto tratar_error
'seguir es una variable global declarada en un módulo global del proyecto, que se ha colocado en true
seguir=true
Dim aux as new menu_p
aux.ShowDialog
'----------------------------------------
exit sub
tratar_error
MsgBox(Err.Description, MsgBoxStyle.Information, "Mensaje del Sistema")
end sub
'---------------------------------------------------------------------------------------------------------
en El formulario 2 en el evento activated hay una animación que muestra
dos imágenes a intervalos en un picturebox llamado "cuadro" así:
'---------------------------------------------------------------------------------------------------------
Private Sub cuadro2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cuadro2.Click
Dim tiempofinal as single
'seguir es una variable global declarada en un módulo global del proyecto, que se ha colocado en true
while seguir=true
'Cargar la primera imagen
me.cuadro.image=image.fromfile("c:\imagen1.bmp")
'-------------------------------------------
'----detener 0.5 segundos
tiempofinal=Microsoft.VisualBasic.Timer+0.5
While (Microsoft.VisualBasic.Timer < tiempofinal and seguir=true)
Application.DoEvents()
wend
'-------------------------------------------
'Cargar la segunda imágen imagen
me.cuadro.image=image.fromfile("c:\imagen2.bmp")
'-------------------------------------------
'----detener 0.5 segundos otra vez
tiempofinal=Microsoft.VisualBasic.Timer+0.5
While (Microsoft.VisualBasic.Timer < tiempofinal and seguir=true)
Application.DoEvents()
wend
'-------------------------------------------
wend
'-------------------------------------------------------
'-->esta es la instrucción que aparentemente genera error
me.dispose
'-------------------------------------------------------
end sub
'---------------------------------------------------------------------------------------------------------
Hay un botón para salir del formulario menu_p así:
'---------------------------------------------------------------------------------------------------------
Private Sub salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Picture3.Click
seguir=false
end sub
'---------------------------------------------------------------------------------------------------------
al oprimirlo se genera en el procedimiento Button1_Click de menu_priniciapal el siguiente mensaje de error:
"No se puede obtener acceso al objeto denominado "menu_p".
Nombre del objeto: "menu_p".
Al oprimir nuevamente Button1, se abre al parecer el formulario menu_p y desaparece rápidamente y allí se traba el programa.
La idea de abrir el formulario descrito, es tener en cada momento un solo formulario
al que pueda acceder el usuario.
La pregunta es: como descargar totalmente el formulario menu_p y que no se produzca el error
anterior que daña el programa.
Nota: si abro el segundo formulario con el otro método (Form.Show)
ofrezco disculpas por haberme extendido tanto en la explicación, espero entiendan la pregunta
y la puedan resolver.
=================================================================================================
Valora esta pregunta


0