- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6 リストビューについて)
VB6リストビューの効率的な操作方法とは?
このQ&Aのポイント
- VB6で作成したプログラムでリストビューを使用している際に、ディレクトリを移動するたびにListItemsコレクションをクリアしています。しかし、同じディレクトリに戻ってくると再取得が必要になり非効率的に感じています。
- クリアせずにaddメソッドでコレクションを追加し、目的別に表示する方法はあるのでしょうか?
- また、Temporary Internet Filesを表示する際にも毎回新規に再取得しているようですが、これが設計上好ましくないのかもしれません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ListView自体にキャッシュ機能はないので、そこは自力で実装することになります。 ただしキャッシュを使うと、稼働中に追加・削除・変更されたファイルやフォルダの情報が反映されなくなります。これをチェックするために、一覧を取得することになればキャッシュの意味は皆無。 変更を監視する方法もありますが、不要な監視を解除したりキャッシュをどのタイミングで更新するのか等、気を回す場面が多くなります。 一覧の取得程度であればそれほど負荷はかからないと思います。一覧の取得に時間がかかる、あるいは、クライアントから可能な限りHDDへのアクセスを減らして欲しいといった依頼がない限り、現状のままでよいのではないか、というのが私の感想です。
お礼
回答ありがとうございます。 稼働中のマシンはやや古く非力で、質問に記したTemporaryなど 多数のファイルにアクセスするとしばらく固まってしまいます。 運用上は何千もあるファイルを扱うことはないのですが、 時折、ユーザの方で関係のないフォルダにアクセスして問題になっているようでした。 そこで今後の開発を見据えて質問させて頂きました。 しかし、キャッシュの機能がないのでは仕方ありませんね。 ポストメッセージを常時監視するのも必要性に疑問があるところは同意です。 おっしゃる通り、クライアントからの依頼があったら考えればいいことですね。