Herzlich willkommen in der Delphi-PRAXiS, dp_user.
Ein Problem mit dem von dir gezeigten Code ist, dass du zwar 601 Items erzeugst, aber nur das erste Item hat einen gültigen Data-Pointer.
Delphi-Quellcode:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
ListDataEntry: PListViewData;
begin
with Sender do
begin
ListDataEntry := Item.Data;
if Assigned(ListDataEntry) and ListDataEntry.Eintrag1
then Canvas.Font.Style := [fsbold]
else { ... };
// ...
end;
end;
Außerdem ist es besser, wenn du den typisierten Zeiger ListDataEntry lokal deklarierst. Und die Abfrage einer Variablen des Typs Boolean auf True ist bestenfalls ungeschickt - die Variable selbst ist schon ein perfekter "logischer Ausdruck".
Freundliche Grüße vom marabu