Hallo!
Das war die entscheidene Information die mir fehlte: Die von mir verwendete Klasse hat natürlich Events! Habe das ganze nun erstmal provisorisch zum laufen bekommen und beschäfte mich gleich noch ein wenig damit:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
coStore: TStorageItem;
i: Integer;
begin
coTest := TStorage.Create(TStorageItem);
with TXMLSerializer.Create(self) do
begin
XMLSettings.WellFormated := true;
SpecialClasses := [scTCollection];
LoadFromFile('C:\test.xml');
OnStartObjectLoad := Deserialize;
LoadObject(coTest, 'Test');
end;
ListBox1.Clear;
for i := 0 to coTest.Count - 1 do
begin
ListBox1.AddItem(coTest.Items[i].Text, nil);
end;
end;
Delphi-Quellcode:
procedure TForm1.Deserialize(aSender, aObject: TObject; aObjectName: string;
aNode: IXMLNode; var aSkipObject: boolean);
var
i: Integer;
begin
for i := 0 to aNode.ChildNodes.Nodes['customdata'].ChildNodes.count - 1 do
begin
coTest.Add;
end;
end;