- PR -

COMオブジェクトの参照カウントを"0"にしないでおく場合

投稿者投稿内容
jama
常連さん
会議室デビュー日: 2006/09/12
投稿数: 45
投稿日時: 2007-07-05 22:23
アプリケーション終了時にCOMオブジェクトも開放されるなら、
Excel操作をアプリケーションから分離して、
別exeで作成するというような方法はありでしょうか?
参照カウントを正しく処理することが難しいので。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-07-05 23:13
引用:

jamaさんの書き込み (2007-07-05 22:23) より:

アプリケーション終了時にCOMオブジェクトも開放されるなら、Excel操作をアプリケーションから分離して、別exeで作成するというような方法はありでしょうか?


私の記事でも書いていますが、その場合は COM を直接扱える言語で書いた方が合理的だと思います。いずれにせよ Quit の完全保証はできませんが、GC のコストも考えた方が良いと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-07-06 05:35
引用:
アプリケーション終了時にCOMオブジェクトも開放されるなら、
Excel操作をアプリケーションから分離して、
別exeで作成するというような方法はありでしょうか?


別に exe にする必要はないと思います。
VB6.0 で ActiveX DLL を作成し、その ActiveX DLL 自体の class の instance の廃棄をしっかりやっておけば問題ないので。

.NET 側で扱わせる COM object の数が少なくなるように ActiveX DLL を作ってやれば、楽が出来るでしょう。
_________________

スキルアップ/キャリアアップ(JOB@IT)