タイトル : Re^8: Webbrowser.Documentから... 投稿日 : 2005/11/07(Mon) 15:45 投稿者 : 魔界の仮面弁士
> VB2005からはUsingが使えるということで,COMオブジェクトをラップ > してみました。問題なく動作しているように見えるのですが,COMが > 本当に解放されているのか,リークしていないのか確かめる方法が > よくわかりません。 厳密なチェックではありませんが、後述する XMLファイルを「C:\TEST.WSC」という ファイル名で保存しておき、『Option Strict Off』のモードにて、 Dim O As Object = GetObject("script:C:\TEST.WSC") '「Initialize」と表示されるはず。 Dim X As New clsCOMObject(O) '今回作成したラッパーに渡す。 MessageBox.Show(O()) '「YAS」と表示される予定。 X.Dispose() '破棄により「Terminate」と表示される。 'MessageBox.Show(O.Method()) '破棄済みなので、例外が発生すれば OK 。 のようなコードでチェックしてみるとか。 <?xml version="1.0" encoding="UTF-8"?> <package><component><public><method name="Method" dispid="0" /></public> <script language="VBScript"><![CDATA[Option Explicit Dim X Function Method() Method = TypeName(X) End Function Set X = New YAS Class YAS Private Sub Class_Initialize() MsgBox "Initialize", vbInformation End Sub Private Sub Class_Terminate() MsgBox "Terminate", vbInformation End Sub End Class ]]></script></component></package> |