- PR -

何度も出ているExcelプロセスの件です。

投稿者投稿内容
K5
常連さん
会議室デビュー日: 2006/04/22
投稿数: 25
投稿日時: 2006-04-30 14:06
Jittaさん

ご返信ありがとうございます。

引用:

おそらく最初に質問した Jitta です。


そうなんですね!

引用:

おすすめしませんが、こんな方法もあります。
COM リリース:お勧めではないが、こんな方法も...
# IE 以外の方が見やすい


拝見させて頂きました。
コード:
GC.Collect();


は、あまり良くないという情報を見ていましたので、出来る限りがんばってみようと思ってました。
まだ、別のアプリでExcelを使用したものを作る予定があります。
万が一の時には、Jittaさんのサンプルを使わせて頂きます。
最後の回避策を知ってるのと、知らないのとでは困った時の危機感が違うので助かります。
ありがとうございます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-30 14:45
COM と GC.Collect 関係の話題についてはこちらが参考になるでしょう。

  COM参照を確実に解放するコードの可読性をあげたい

記述量を減らすのが目的であれば、GC.Colelct のようなコストが高いものを選択する必要はなく、
ParamArray なメソッドに参照の解放を委ねた方がまだ良いでしょう。

私的には COM オブジェクトを使用しないのが 1 番良い。
無理に使用しているのだから、無理な実装になって当たり前という結論です。

VSTO がもっと流行ると良いですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-05-01 09:37
引用:

K5さんの書き込み (2006-04-30 14:06) より:
コード:
GC.Collect();


は、あまり良くないという情報を見ていましたので、出来る限りがんばってみようと思ってました。
まだ、別のアプリでExcelを使用したものを作る予定があります。
万が一の時には、Jittaさんのサンプルを使わせて頂きます。
最後の回避策を知ってるのと、知らないのとでは困った時の危機感が違うので助かります。


前提条件がありますので、それはきっちり押さえてください。小一時間、ハマりましたので。
参照が切れていることが前提です。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-05-01 11:28
引用:

コード:
GC.Collect();


は、あまり良くないという情報を見ていましたので、



良くないですね。

↑の1文だけだと、確実にすべての COM オブジェクトのインスタンスが解放される保証が無いです。

「念のため」で書いておくのは止めませんが、GC.Coolect() することによってパフォーマンス的なペナルティが発生することも認識した上で、ご利用は計画的に。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
K5
常連さん
会議室デビュー日: 2006/04/22
投稿数: 25
投稿日時: 2006-05-01 12:37
>Jittaさん
ご返信ありがとうございます。<(_ _)>
もし、使用することがあったら前提条件を忘れずに使わせて頂きます。

>渋木宏明(ひどり)
もし、使用することがあれば、計画的に利用します!

皆様本当にありがとうございます。
@ITの会議室に書かせて頂いたのは、つい最近からの事なのですが改めてネットの素晴らしさと凄さを実感致しました。
これまでは、こういう書込み自体もあまり行った事がありませんでした。
皆様のように技術力をつけて、他の人への書込みをできるようになりたいと思いました。
(暫くは、教えてもらう事の方が多いかもしれませんが・・・)

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