質問

ていますNetアプリケーションからC++COM部品ではインスタンスを生成.また荷重のCOMからコンポーネント子どもフォームの画が共通のリソースで編集されているよ。Netアプリケーション、inturnスクトップに作成されているCOM dllを開始。

場合、以下の手順に従理が行われます。
1.インスタンスを生成COMコンポーネントの子窓 の成分はインスタンス化で使用する児童書の後の詳細な使用方法については、NULLに設定されるようにCOMポがロード状態になります。
2.保子ンウィンドウを開き、編集リソース
3.現在は、"リフレッシュ"の、新たなCOMインスタンス"についてrefelectionの変更資源の資源ではないリフレッシュ。

この整理.ReleaseComObject方法です。ください。

正しい解決策はありません

他のヒント

回DLL読み込まれる.純AppDomainなpossble力のDLLをロード状態になります。で、残念限定のCLR.合することが必要となりDLLの荷物の積み降ろしを行うことができます。

  1. 新規作成しAppDomain
  2. 負荷のDLLのDLL
  3. のみならず、すべての新しいAppDomain
  4. アンロードの新しいAppDomain

場合にDLLがロードされ一AppDomain、搬入のAppDomainアンロードするDLLとしてます。このDLLをロード状態になります。しかしでかわいらしいヘビー級の答えです。

COMオブジェクトやDLLは1つが他に存在していても、二つの異なるものです。特定のハッキングは可能ですが、より良い解決策は、DLLのアンロードに依存しない、より賢明な方法でこの部分を書き換えることです。

A 議論clrInteropページ 記述する非常に近い概ご質問です。では、ガベージコレクタはアンロードのdll.し見積もり:"できる非常に危険なためclrいことがありますがその他のコードでネイティブコード)に依存することdll.だめにdllを使用せず、呼び出しのwindows APIのようにFreeLibraryする最も簡単な荷役しなければならないというのdllにまとめ."

うにする必要がありまinterop FreeLibrary、それをアンロードのdll.はかばんはいかがでしょうか:ない場合は滞在ビザを取得することができ、解決のがんのアンロードのdll.

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