Die Frage ist eigentlich schon beantwortet, aber ich hab sie gerade bemerkt und zufällig ein kleines Beispiel parat. Im Beispiel werden zuerst Daten an TObjectList übergeben. ListBox ist nur für die Anzeige an und gibt sie legiglich virtuell wieder.
Delphi-Quellcode:
uses
Contnrs, DateUtils;
type
TMyDate = class
DateStr: string;
end;
var
ol: TObjectList;
procedure TForm1.FormCreate(Sender: TObject);
var
d: Integer;
MyDate: TMyDate;
begin
ol := TObjectList.Create(True);
for d := Trunc(Now) - 365 to Trunc(Now) do
begin
MyDate := TMyDate.Create;
MyDate.DateStr := FormatDateTime('dd.MM.yyyy, ddd', d);
ol.Add(MyDate);
end;
ListBox1.Style := lbVirtual;
ListBox1.Count := ol.Count;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ol.Free;
end;
procedure TForm1.ListBox1Data(Control: TWinControl; Index: Integer;
var Data: String);
begin
Data := TMyDate(ol[Index]).DateStr;
end;