タイトル : Re^7: Webbrowser.Documentから... 投稿日 : 2005/11/07(Mon) 14:17 投稿者 : YAS
[OSのVer]:Windows [VBのVer]:VB.NET みなさんこんにちは。 随分前のスレッドをむしかえして申し訳ありません。 COMオブジェクトを利用するときには解放処理に気を遣わなければ ならないということがわかりました。 VB2005からはUsingが使えるということで,COMオブジェクトをラップ してみました。問題なく動作しているように見えるのですが,COMが 本当に解放されているのか,リークしていないのか確かめる方法が よくわかりません。 いかがなものでしょうか? Class clsCOMObject Implements IDisposable Public COMObject As Object Sub New(ByVal COMObj As Object) COMObject = COMObj End Sub Private disposed As Boolean = False Private Overloads Sub Dispose(ByVal disposing As Boolean) If Not Me.disposed Then If disposing Then End If If Not COMObject Is Nothing AndAlso Marshal.IsComObject(COMObject) Then Marshal.ReleaseComObject(COMObject) End If End If Me.disposed = True End Sub Public Overloads Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me) End Sub Protected Overrides Sub Finalize() Dispose(False) MyBase.Finalize() End Sub End Class |