У меня есть список records
, который я хочу обобщить в TListView
Структура записи следующая
MyRecord = record
SourceTable: string;
SourceField: string;
TargetTable: string;
TargetField: string;
end;
В записи может быть несколько экземпляров SourceTable/TargetTable с одним экземпляром Source/Target Field.
Я хотел бы создать TListView
в стиле vsReport, который суммирует каждую пару SourceTable\TargetTable.
В идеале я хотел бы сделать следующее:
procedure SetTables;
var
mp: MyPointer;
LI: TListItem;
begin
LI := LI.Create(nil);
LI.Caption := ap^.SourceTable;
LI.SubItems.Add(ap^.TargetTable);
LI.Checked := not ap^.Updated;
if lvMigration.Items.IndexOf(LI) = -1 then
lvMigration.Items.AddItem(LI);
end;
т. е. Создайте автономный TListItem, убедитесь, что он еще не существует, а затем добавьте его в мой TListView. Однако он ломается при назначении LI.Caption
- по сути, назначать нечего. Я подозреваю, что по крайней мере часть проблемы заключается в (nil)
Обычным созданием TListItem было бы использование LI := lvMigration.Items.Add;
, но это не помогает в моем случае использования. Кажется, я не могу найти никакой документации, где это делается.