Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/10/2012, 07:56
E_Blue
 
Fecha de Ingreso: mayo-2011
Mensajes: 102
Antigüedad: 13 años
Puntos: 0
Pregunta Duda acerca de FormClosing, objetos del form y pila de llamadas

Hola, estoy teniendo problemas a la hora de guardar el texto contenido en un par de RichTextBox en el evento FormClosing.

Suele ocurrir que los RichTextBox "desaparecen", y por lo tanto no se puede ejecutar ninguna acción pues esos RichTextBox no existen.

¿No se supone que cuando ocurre el evento FormClosing todos los objetos que este contiene siguen existiendo?

Código vb:
Ver original
  1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.  
  3.         PrintLog("Intentando cerrar aplicacion, status (" & SmsTimeCount.ToString & "). Close reason: " & e.CloseReason.ToString)
  4.         If ReadyToGetOut Then
  5.             If ConectarBtn.Tag = 1 Then
  6.                 Desconectar()
  7.             End If
  8.             My.Settings.LastValidComCfg = LastValidCom 'Guardo el ultimo puerto utilizado en la configuracion de la aplicacion
  9.            My.Settings.LastValidComBpsCfg = IPR
  10.  
  11.             My.Settings.Save()
  12.             My.Settings.Reload()
  13.  
  14.             PrintLog("Cerrando programa.")
  15.             PrintLog("Lineas Procesadas en puerto COM")
  16.             ' PrintLog(LineasProcesadas)
  17.            LogPath += "_" & (GetFechaHora().Replace(":", "")) & ".log"
  18.  
  19.             LogRTB.SaveFile(LogPath, RichTextBoxStreamType.PlainText)
  20.             LogPath += ".comport"
  21.             ComLogRtb.SaveFile(LogPath, RichTextBoxStreamType.PlainText)
  22.  
  23.         Else
  24.             e.Cancel = True
  25.             GetOut = True
  26.         End If
  27.     End Sub

En un principio el If que engloba todo no estaba, lo agregue porque a veces se trababa en una linea externa al evento FormClosing, usualmente una que controla el puerto serie, otras en un delegado que agrega texto a los RichTextBox.

Estoy haciendo algo mal y no entiendo que. ¿Alguien me podría orientar?