Нужно ли для всех объектов, имеющих методы .Clear() .Close() .Dispose(), вызывать соответствующие методы по окончании их использования? И нужно ли писать для всех объектов = Nothing? И если нужно почему? Неужели они не очищаются сами по себе после закрытия программы?
Я решил все такие методы запихать в процедуру в модуле. При закрытие формы(нажатие на крестик) или нажатие на кнопку Exit (что вызывает метод frmMain.Dispose) выполняется процедура, например:
- Код: Выделить всё
[b]Module[/b]
Public SQLiteCon As New SQLiteConnection
Public Command As New SQLiteCommand
Public DS As New DataSet
Public DA As New SQLiteDataAdapter
Public DR As SQLiteDataReader
Public Builder As New SQLiteCommandBuilder(DA)
Public CM As CurrencyManager
Public Sub subExitAndCloseConnection()
Command = Nothing
DS.Clear()
DS = Nothing
DA = Nothing
DR = Nothing
Builder = Nothing
CM = Nothing
SQLiteCon.Close()
SQLiteCon.Dispose()
frmMain = Nothing
Beep()
End Sub
[b]frmMain[/b]
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Me.Dispose()
End Sub
Private Sub frmMain_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
subExitAndCloseConnection()
End Sub
Вообщем имеет ли смысл очищать все объекты таким образом?