tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^5: Cells.FindNextのループ中の解放
投稿日: 2009/09/16(Wed) 17:46
投稿者魔界の仮面弁士
>  MRComObjectにつきましては、ずっとVBレスキュー花ちゃんで御提示いただいていた
> コードを使わせていただいておりますが、
実のところ、MRComObject は投稿時期によって、複数の実装があったりします。


> (これも魔界の仮面弁士様がご作成くださったコードのようですね^^ 
> 以下、http://hanatyan.sakura.ne.jp/dotnet/Excel01.htmからの引用です。
確かに、そのコードは私が手を加えた物ではあるのですが、そもそも
『Sub MRComObject』の初出は、花ちゃんさん作の物であったかと思います。

# そしてその元ネタは、恐らく KB317109 の『Sub NAR』であろうと推測。。。
# http://support.microsoft.com/kb/317109/ja


> MRComObject(Obj) '←ここでObjにNothingを入れない方がよいのかな?と考えました。
入れても良いですし、入れなくても構いません。
(その Obj が WithEvents 付き変数であるならば、入れない方が良いでしょう)


COM オブジェクトの解放と破棄自体は、Marshal.ReleaseComObject の
呼び出しだけで充分です。とはいえ、厳密にはそれだけでは完全なメモリ解放とは
なりませんし、また、Nothing 代入すること自体が無意味というわけでもありません。


このあたりは厄介な事情が絡んでくるので、簡単に説明するのは難しいです。
少し難しい話になりますが、興味があれば下記を参照してみてください。
http://hpcgi1.nifty.com/MADIA/vbnet/wwwlng.cgi?print+200908/09080001.txt
http://msdn.microsoft.com/ja-jp/library/aa159887%28office.11%29.aspx#odc_ofcomplexcomobjectspias_managingcomobjectswithappdomains
http://shinichiaoyagi.blog25.fc2.com/blog-entry-180.html

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。