jp.hishidama.win32.com
クラス ComPtr

java.lang.Object
  上位を拡張 jp.hishidama.win32.com.ComPtr
直系の既知のサブクラス:
IUnknown

public class ComPtr
extends Object

COMオブジェクト.

IUnkownに該当するクラス。
DLL内のポインターを保持しているので、当クラスを継承したインスタンスでは、使い終わったら必ずdispose()を呼び出して解放(内部で参照カウンターを減らす)する必要がある。

導入されたバージョン:
2007.10.22
バージョン:
2008.07.14
作成者:
ひしだま

メソッドの概要
 void dispose()
          インスタンス破棄.
static void dispose(ComPtr c)
          インスタンス破棄.
static void dispose(ComPtr c, boolean child)
          推奨されていません。 弱参照を使用することにより、当メソッドは不要になった
static void dispose(List list)
          リスト内インスタンス破棄.
static void dispose(List list, boolean child)
          推奨されていません。 弱参照を使用することにより、当メソッドは不要になった
static void dispose(List list, ComPtr exclude)
          リスト内インスタンス破棄.
static void dispose(List list, ComPtr exclude, boolean child)
          推奨されていません。 弱参照を使用することにより、当メソッドは不要になった
 void disposeChild()
          推奨されていません。 弱参照を使用することにより、当メソッドは不要になった
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

dispose

public void dispose()
インスタンス破棄.

当該インスタンスを破棄する。
(DLL内の参照カウンターを減少させる為、必ず最後に当メソッドを呼ぶ必要がある)


disposeChild

public void disposeChild()
推奨されていません。 弱参照を使用することにより、当メソッドは不要になった

子オブジェクト破棄.

当オブジェクトから取得したオブジェクトを全て破棄する。
取得時に引数addChildにtrueを指定していたオブジェクトが対象。

例1:
WebBrowser wb = WebBrowser.create();
HtmlDocument doc = wb.getDocument(false); //addChild=false
ComPtr.dispose(doc, false); //docも
ComPtr.dispose(wb, false); //wbも別々に破棄する必要がある

例2:
WebBrowser wb = WebBrowser.create();
HtmlDocument doc = wb.getDocument(true); //addChild=true
ComPtr.dispose(wb, true); //これで、docも同時に破棄される

内部で当メソッドが呼ばれている。

例3:
IERobot robot = IERobot.create();
HtmlDocument doc = robot.getDocument();
HtmlElement elem = doc.getActiveElement(true); //addChild=true
robot.dispose(); //robotを破棄するとelemもdocも破棄される

内部で当メソッドが呼ばれている。

関連項目:
addChildComPtr(ComPtr)

dispose

public static void dispose(ComPtr c)
インスタンス破棄.

パラメータ:
c - インスタンス(nullの場合、無処理)
関連項目:
dispose()

dispose

public static void dispose(ComPtr c,
                           boolean child)
推奨されていません。 弱参照を使用することにより、当メソッドは不要になった

関連項目:
dispose(ComPtr)

dispose

public static void dispose(List list)
リスト内インスタンス破棄.

リスト内の全インスタンスを破棄する。

パラメータ:
list - ComPtrのリスト
関連項目:
dispose(List, boolean)

dispose

public static void dispose(List list,
                           boolean child)
推奨されていません。 弱参照を使用することにより、当メソッドは不要になった

関連項目:
dispose(List)

dispose

public static void dispose(List list,
                           ComPtr exclude)
リスト内インスタンス破棄.

リスト内の(指定されたもの以外の)全インスタンスを破棄する。

パラメータ:
list - ComPtrのリスト
exclude - 破棄しないComPtr
関連項目:
dispose(ComPtr, boolean)

dispose

public static void dispose(List list,
                           ComPtr exclude,
                           boolean child)
推奨されていません。 弱参照を使用することにより、当メソッドは不要になった

関連項目:
dispose(List, ComPtr)