Ich habe mal auf die Schnelle einen Versuch gestartet, die von dem Experten erstellten Schnittstellen (die erstellte
Unit) nutzen zu können.
Das erste Ergebnis, das passende "Objekt" anhand einer Id zu finden und darauf zuzugreifen, sieht ganz gut aus.
Ich muss das mal noch etwas sacken lassen, ob das auch für ein größeres Projekt taugt...
Delphi-Quellcode:
function FindXMLPanel(Id:
String): IXMLPanelType;
var
I: Integer;
begin
Result :=
nil;
for I := 0
to xml.Panel.Count - 1
do
begin
if xml.Panel[I].Id = Id
then
begin
Result :=
xml.Panel[I];
Break;
end;
end;
end;
procedure TForm1.PanelClick(Sender: TObject);
var
Panel: TPanel;
XMLPanel: IXMLPanelType;
begin
Panel := Sender
as TPanel;
XMLPanel := FindXMLPanel('
P' + IntToStr(Panel.Tag));
if Assigned(XMLPanel)
then
begin
XMLPanel.Caption := IntToStr(Random(10));
XMLPanel.Left := Panel.Left;
XMLPanel.Top := Panel.Top;
end;
end;
procedure ... SetPanel(P: TPanel);
var
XMLPanel: IXMLPanelType;
begin
XMLPanel := FindXMLPanel('
P' + IntToStr(P.Tag));
if Assigned(XMLPanel)
then
begin
P.Caption := XMLPanel.Caption;
P.Left := XMLPanel.Left;
P.Top := XMLPanel.Top;
end;
end;