Ошибка с кодом? - PullRequest
       38

Ошибка с кодом?

0 голосов
/ 15 ноября 2010

Привет, может кто-нибудь сказать мне, почему не работает следующая доза:

(p.s Я не хочу, чтобы файл добавлялся после нажатия кнопки abutton, только после нажатия флажка.

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    Dim FILE_NAME As String = "C:\RXF\log.txt"

    'Adding items for AutoCAD 2006...
    If CheckBox1.CheckState = CheckState.Checked Then
        Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
        objWriter.WriteLine("module: 4FNV-67-5H")
        objWriter.Close()
    End If
End Sub

Конечный класс

1 Ответ

0 голосов
/ 15 ноября 2010

Невозможно воспроизвести, даже если ваш точный код опубликован. Это прекрасно работает для меня, создание текстового файла в указанном месте, если он не существует, и добавление указанного текста в конецfile.

Единственное, что я предлагаю, - это обернуть ваш объект StreamWriter в оператор Using , чтобы гарантировать, что его метод Dispose всегда вызывается, даже если выброшено исключение.(что более вероятно, когда вы делаете дисковый ввод / вывод).Итак, ваш существующий код просто изменится на:

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    Dim FILE_NAME As String = "C:\RXF\log.txt"

    ''#Adding items for AutoCAD 2006...
    If CheckBox1.CheckState = CheckState.Checked Then
        Using objWriter as New System.IO.StreamWriter(FILE_NAME, True)
            objWriter.WriteLine("module: 4FNV-67-5H")
            objWriter.Close()
        End Using
    End If
End Sub

Кроме того, если вы ожидаете, что этот метод будет вызываться много (т. Е. Пользователь нажимает и отменяет щелчок и нажимает флажок несколько раз), вы можете рассмотреть возможность созданияStreamWriter объект один раз и сохранение его как частной переменной уровня класса, вместо создания и удаления его при каждом вызове метода.Тогда вам просто нужно убедиться, что вы утилизируете его всякий раз, когда ваш класс (предположительно, содержащий форму) удаляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...