なソフトウェアです辞書のRemoveAll()メソッドをリリース要素をすべて。
-
09-06-2019 - |
質問
にVB6願い Dictionary
キーが String
sおよび値はインスタンスのカスタムクラスです。場合に呼びかけ 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()
所属していません StackOverflow