なソフトウェアです辞書のRemoveAll()メソッドをリリース要素をすべて。

StackOverflow https://stackoverflow.com/questions/75011

質問

にVB6願い Dictionary キーが Stringsおよび値はインスタンスのカスタムクラスです。場合に呼びかけ RemoveAll()Dictionary, まで無料のカスタムオブジェクト?はいを明示的に必要なこすか?

Dim d as Scripting.Dictionary

d("a") = New clsCustom
d("b") = New clsCustom

' Are these two lines necessary?
Set d("a") = Nothing
Set d("b") = Nothing

d.RemoveAll
役に立ちましたか?

解決

あり、すべてのオブジェクトの Dictionary 以降の呼び出し RemoveAll().からの実績(速度)の立場に立ってこれらの線の描画設定の変数に Nothing 不要なので、コードを探しのキー名に対し RemoveAll() 列挙す放っループを実行します。

他のヒント

RemoveAll すべての団体からの Dictionary:両方のキーと値です。この参照の漏洩の Dictionary 続への参照値を Dictionary.

がない場合その他の変数を参照する項目のコレクションにしてそれらのオブジェクトすることが前提となる、ガベージコレクタクリーニングにはGCが実行されます。

場合または開示することができないことがsObjは静的変数のどこかにその時のGCが呼び出され、次のシステムの最初のオブジェクトの清掃ものだが参照するsObjなくてはなりません。

d("a") = New clsCustom
d("b") = New clsCustom code.
sObj = d("b")

d.RemoveAll()
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top