- 題名: Disposeについて
- URL: http://homepage2.nifty.com/igarin/
- 日時: 2005/06/04 18:09:42
- ID: 11113
- この記事の返信元:
- (なし)
- この記事への返信:
- [11114] Re[1]: Disposeについて2005/06/04 20:08:57
- ツリーを表示
(管理人さんに賛成ってことで・・・。) 場合によっては、実害が出ます。 例えば、そのフォームがMSDE(データベース)へのコネクションを持ってたりして、 フォームの終了時(Close時ではなく。)にコネクションを破棄するような形態の場合、 Closeだけして安心していると、アプリ全体の終了までコネクションが「Waiting」状態の ままになるので、接続プールに返却されずにあふれて制限モードに移行されたりします。 ・・・整理されたデバッグ計画に基づいたチェックでもしない限り、こういったミスは 納品まで気づかなかったりします。 ので、Disposeを持つクラスのオブジェクトの場合、あまり意味のない場合でもDispose する癖をつけておいた方がいいと思います。
分類:[.NET]
いつも、ここで勉強させてもらっております。
いま、会社で師匠的存在のプログラマが次のようなコード
を書いたのですが、
--------------------------------------------
Form1.vb
--------------------------------------------
:
Private Sub Kensaku_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnKensaku.Click
Dim f2 As New Form2
f2.ShowDialog(Me)
f2 = Nothing
End Sub
:
--------------------------------------------
Form2.vb
--------------------------------------------
:
Private Sub Owari_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Owari.Click
Me.Close()
End Sub
:
--------------------------------------------
Form1.vbのf2.ShowDialog(Me)とf2=Nothingの間に
「f2.Dispose()」
の文はいらないのでしょうか。
なくても、動いているんですが、NewしたらDisposeしないとダメみたいなことが
雑誌に書いてあったような気がして、気になります。
どうぞ、ご回答お願いいたします。