Foros del Web » Programación para mayores de 30 ;) » .NET »

Formulario MdiChildren no cierra, queda residente.

Estas en el tema de Formulario MdiChildren no cierra, queda residente. en el foro de .NET en Foros del Web. Nuevas pruebas han dado resultados extraños... Cree dos formularios nuevos, con los mismos elementos que tenían los otros, menos los PieGraph. Luego procedí a ejecutar ...

  #31 (permalink)  
Antiguo 13/07/2011, 13:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Formulario MdiChildren no cierra, queda residente.

Nuevas pruebas han dado resultados extraños...

Cree dos formularios nuevos, con los mismos elementos que tenían los otros, menos los PieGraph. Luego procedí a ejecutar la aplicación y probar si los mismos desaparecían y todo anduvo bien.
Luego puse un control en uno de ellos y volví a probar. Anduvo bien.
Agregué otro control más en ese mismo form (lleva dos) y pareció andar bien, pero cuando agregué el tercero en el segundo formulario todo empezó a fallar de nuevo.

Probé borrándolos de a uno, y cada vez que borraba uno, el sistema devolvía esto:



Y luego esto:



Volví a probar de cargarlo y sin ejecutar, mandé a borrar. Volvió a pasar lo mismo.

Una de las cosas singulares es que cuando cierro el VS y lo vuelvo a abrir, el control ha desaparecido de las herramientas cargadas en la barra...
En definitiva estoy ahora tratando de buscar un control alternativo o bien directamente programar uno yo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #32 (permalink)  
Antiguo 14/07/2011, 07:35
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Formulario MdiChildren no cierra, queda residente.

MM, me suena ha que hay algun evento, insisto, esos errores a mi me dan a granel, pero es porque no estan bien las validaciónes, muchas veces se ejecutan eventos antes de que el objeto este creado y ahi existe el problema, no tiene que ser necesariamente el objeto puede ser que cuando cargues o se inicie otro control valide una propieda que aun no existe por no estar creado el objeto como dije anteriormente, yo insisto, ya me tiene interezado el problema, no puedes crear dos forms nada mas donde te de el problema asi lo checo aqui yo tengo vb2010 y 2005...asi que no habria problema para tu proyecto...
  #33 (permalink)  
Antiguo 19/07/2011, 07:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Formulario MdiChildren no cierra, queda residente.

Bueno, finalmente he logrado encontrar el problema, que como todo problema que resulta desesperante y enloquecedor, terminó siendo una estupidez de características épicas.
En definitiva el error fue generado (misteriosamente) por el mismo Visual Studio 2005, al migrar estos dos formularios...
El problema es que no sé por qué causa, la migración dejó comentada una línea crítica del Dispose de los componentes en esos dos formularios:
Código vb:
Ver original
  1. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  2.         If disposing Then
  3.             If Not (components Is Nothing) Then
  4.                 components.Dispose()
  5.             End If
  6.         End If
  7.         ' MyBase.Dispose(disposing) <--- Esta linea no deberia estar comentada.
  8.    End Sub
Tan simple como eso.
Como esa sección de código normalmente no se toca, no tengo ni la menor idea de cómo o por qué decidió ponerlo así, especialmente por cuanto al revisar los demás formularios importados, el resto no tienen esa linea comentada. Juro que yo no lo hice, revisé todos los backups desde la migración hasta la fecha y está así en todos.
Como sea, lo encontré cuando me puse a debuggear el funcionamiento del Dispose y detecté que en realidad no se estaba ejecutando completo y el evento Disposing no ocurría. Ahí fue cuando encontré las líneas así.

Un asco

Me ha hecho perder días y me ha retrasado hasta el cansancio esta etapa del proyecto, porque la directiva no quiere gastar 100 U$S en una librería paga.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #34 (permalink)  
Antiguo 19/07/2011, 07:21
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 5 meses
Puntos: 267
Respuesta: Formulario MdiChildren no cierra, queda residente.

jajaja tan duros resultaron los de tu directiva?? , pero bueno te diste un esfuerzo enorme por resolver dicho inconveniente, aunque te hayas retrasado creo que valio la pena, pues de una u otra manera sirve para aquellos que talvez logren usar este chart y se den con este problema y se rompan la cabeza tratando de encontrar el error... En este caso me incluyo . Gracias por tu tiempo gnzsoloyo, eres un Excelente Colaborador.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #35 (permalink)  
Antiguo 19/07/2011, 07:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Formulario MdiChildren no cierra, queda residente.

Te los describo: Pueden negarse a comprar esa librería que les propuse (Super2d3dGraphLibrary), pero cambian de auto casa seis meses (calculá más o menos US$S 80.000 al año en autos contra entrega del vehículo anterior)... Eso sin las otras cosas...
Huelga decir más, ¿no?

Gracias por todo.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #36 (permalink)  
Antiguo 19/07/2011, 12:44
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Formulario MdiChildren no cierra, queda residente.

MM, que comportamiento, pues en si, tiene su logica, porque el procedimiento es una sobrecarga del procedimiento original y tambien esta marcado como la sobreescritura en si del procedimiento del que hereda por eso tiene comentariado esa linea, porque no es una extension del metodo es una sobrecarga / sobreescritura normal...lo bueno es que diste con el clavo...esta interesante la Dll tambien...

Etiquetas: basic, cierra, net, queda, vb, visual, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:55.