掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ListView.items.add で項目が表示されない場合の対処方法は? (ID:5004)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして かなもの と申します。 いつも、ありがたく掲示板を資料として利用させて頂いています。 今回どうしても行き詰ってしまったので、思い切って書き込みをしてみました。 内容はタイトル通りなのですが、再現率は100%ではないのです。 下記に例を書いて見ます。 list := ListView1.Items.Count; NewItem := ListView1.Items.Add(); NewItem.Caption := Caption;//←ここにStringが入る Label1.Caption := IntToStr(list); Label2.Caption := IntToStr(ListView1.Items.Count); 毎秒ごとに新しい情報があるかTCP経由で監視して(読み取って)、 新しい情報が見つかったら情報を受信して、 ListViewに表示するというものを作っています。 通常では問題ありません・・・ ところが、正確な条件までは見出せなかったのですが、 ListView1.Items.Countが加わっているにも関わらず、 実際の画面には表示されない場合がある・・・という現象に悩まされています。 ですので、例文では、元々1行あった場合 Label1.Caption には「1」 Label2.Caption には「2」が表示されているにも関わらず、 実際には1行のみしか表示されていない・・・という事です。 同じ文字列でも、表示されたりされなかったりしています。 長時間立ち上げてる事を想定してまして、行が欠けるとあまりよろしくないのです。 どうも100〜200に1回ぐらいの確立で発生するようです。 BeginUpdate・EndUpdateを挟む事も試してみましたが、 表示がちらつくだけで改善はされませんでした。 又、起動直後でコンパイルしたEXEのみの起動も試みましたが、 同じく改善されませんでした。 OSも変えて見ました。XP/2000/ME/98で試してみましたが すべてのOSで発生しました。 加えて、新しい情報が見つかって3行目が追加される・又は1行目を削除すると、 2行目が表示されるという現象も確認しました。 (表示系監視の物なので、可能な限り行削除は行いたくないのです・・・ ですのでclearはダメでして・・・) これらの現象に対して、何か改善策はあるのでしょうか? ご回答のほど、よろしくお願いします。 ひき続きHELPとにらめっこします・・・ 開発環境: WIndowsXP Professional SP1 Delphi 6 Personal P.S. あ、商用ではないですので。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.