タイトル : Re^2: Office Web Compornent でも、ハンドルリークを招くんでしょうか? 投稿日 : 2008/06/30(Mon) 14:41 投稿者 : BamChan
最小限ですが、事実関係を補足させて頂きます。 > 回答ではありません。 > 何方からもレスが無いようですし、質問の趣旨がよく解らないので。 > > > VBアプリからスプレッドシートの1セルに書き込んで表示させると、ハンドルの数が+1 > > されています。(.exeを終了しない限り減ることはありません。) > > どのような名前のものですか? 同じものが複数という事ですか? > ハンドルとはタスクマネージャのプロセスのタブのところのイメージ名の事でしょうか? > パフォーマンスのタブのところの合計のハンドル数の事ですか? > (上記なら、Excel ではどうなりますか?) > > 正常な使用で増えると言う事ですか? > (Office Web Compornent 9.0 を配置しただけのコードでも) > 3つのセルに書き込めば +3 されるという事ですか? > それは、何でどのようにして確認されたのでしょうか? > ハンドル数の確認は、仰せの通り、タスクマネージャーのパフォーマンスタグの ハンドル数の増加で判断しております。 あと、セルへのVBアプリからの表示方法は、 Spreadsheet1.Range("A1").Value = "文字列" です。(但し、セルアドレス、"文字列"は、固定ではなく、どこでもなんでも起こります。) タスクマネージャーの表示切替周期が、約1Secですので、 この記述を、Timer2 50mSec 周期で行ったところ、ハンドル数変化は +20ずつ、 又、100mSec で行ったところ、ハンドル数変化は +10ずつとなっているのが 現状です。簡単に再現頂けると思います。 > > 前に、セル書き込みの直後に同シートに対して、.Refreshメソッドを使うと、 > > (Undoの為に用意されているメモリ(?)が開放されているらしく、) > > それは、.Refresh すると解放され消えると言う事ですか? > > > メモリリソースの不必要な消耗には効果があると、経験上感じてはいるのですが、 > > ハンドル数が増えることの「利用可能域」の減少は、これに比べて消費量が少ないとは言え、 > > 出ている様です。 > .Refreshメソッドの使い方は、全くの思考錯誤の連続で、 そこから派生してくる当方の解釈は、言葉通り「経験上感じ」ているに過ぎません。 (従って、論拠立ったものとは、お考えにはならないで下さい。) > それにより、実使用上何か問題が発生しているのでしょうか? > (WinXP 上で結構の量の連続書き込みに使っておりますが、メモリに関する問題は > 確認しておりません、ましてハンドルリークではこのサイトで話題にも上がって > いないかと記憶しております。) > > 正常な使用で発生し、何も問題がないのなら特に気にするような事でもないかと、それより > データ等を書きこんだりした事で使用されるメモリ量の方がはるかに大きいかと > 思うのですが > 当方の現在の課題は、2晩3晩は軽くランニングできるものでなくてはなりませんし、 アクチュエータを伴う機器の、終夜ランニング申請には、厳しいハードルのクリアも必要です。 「8時間連続で動いたから、24時間、96時間も大丈夫」という、 保障になる情報を、何れかから頂きたいのが、本心です。 > それと、このような質問の場合、ご使用の詳しい環境(VBのバージョンやSP・OS・メモリ・Office のバージョン) > や再現手順・テスト結果(他のPCの場合やOffice XP Web Componentsの場合)等も > 書き添えるようにしないと。 これは、今回は意図的に、敢えて特定させていません。 Win XP SP2,VB6.0です。 MS社の技術情報案内、並びに、その日本語説明を、有償無償で情報提供されている皆様に、 今回話題の、「ハンドルリーク」なるものが、「どの程度、有害」なものなのかに関して、 ご意見も含めて、ご認識をお伺い致したい次第です。 |