E_Blue
E_Blue

Reputation: 1151

Winform not closing Why?

I have some code to save a log in my FormClosing event that was working ok until I add code to create a Directory if it not exist such directory.

Now if I add the commented lines the application doesn't close.

I don't understand why.

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    TmrReporte.Stop()
    WriteRTBLog("Finalizacion del programa. - Version " & Me.ProductVersion, Color.Blue)
    Dim Fecha As String
    Fecha = Now.ToShortDateString & "-" & Now.ToLongTimeString
    Fecha = Fecha.Replace("/", "")
    Fecha = Fecha.Replace(":", "")
    Dim PathArchivo As String = Application.StartupPath & "\Logs\" & Fecha & ".logout"
    'If (Not System.IO.Directory.Exists(PathArchivo)) Then
    '    System.IO.Directory.CreateDirectory(PathArchivo)
    'End If
    RTB_Log.SaveFile(PathArchivo, System.Windows.Forms.RichTextBoxStreamType.RichText)    
End Sub

Upvotes: 1

Views: 53

Answers (1)

Ian
Ian

Reputation: 30813

The problem is with the string format of the directory, you use PathArchivo for both the directory and the file while you actually only need to create the directory without filename for the directory creation:

Dim PathDir As String = Application.StartupPath & "\Logs" 'use only directory string here
Dim PathArchivo As String = Application.StartupPath & "\Logs\" & Fecha & ".logout" 'note that this is file name with .logout extension
If (Not System.IO.Directory.Exists(PathDir)) Then 'creates directory without .logout
    System.IO.Directory.CreateDirectory(PathDir)
End If
RTB_Log.SaveFile(PathArchivo, System.Windows.Forms.RichTextBoxStreamType.RichText)    

Note that your PathArchivo is a file path with logout extension

Upvotes: 2

Related Questions