掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
仮想リストビューで100000000件を超える値が設定できない (ID:43807)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
説明が全然足りませんでした。 状況としては、TListViewのReportスタイルで、1.5Gbyte程度のファイルを ダンプリスト(16byte/行)のように表示しようとして壁にぶつかりました。 また、次のような単純化したコードでも確認しました。 ListView1.Items.Count := 100000001; にすると、表示されなくなります。 (デバッガで値を確認すると、0になっていました) type TForm1 = class(TForm) ListView1: TListView; procedure FormCreate(Sender: TObject); procedure ListView1Data(Sender: TObject; Item: TListItem); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ListView1.ViewStyle := vsReport; ListView1.GridLines := True; ListView1.OwnerData := True; with ListView1.Columns.Add do begin Caption := 'Index'; Width := 120; end; with ListView1.Columns.Add do begin Caption := 'Value'; Width := 200; end; ListView1.Items.Count := 100000000; // 100000001 に設定出来ない? end; procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem); begin Item.Caption := IntToStr(Item.Index+1); while Item.SubItems.Count<1 do Item.SubItems.Add(''); Item.SubItems[0] := Format('Value: %d', [Item.Index+1]); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.