Hallo Matthias,
alle von
TComponent abgeleiteten Komponenten implementieren (in TComponent) das Interface
IInterface - also auch deine speziellen Controls, ohne dass du die entsprechenden Funktionen selbst programmieren musst. Zusätzlich ist in TComponent die Referenzzählung ausgeschaltet, falls du nicht gerade mit
COM hantierst und Controls ableitest, die das Interface
IVCLComObject implementieren.
Die einfache Abfrage lautet daher
Delphi-Quellcode:
var
intf: ILoadAndSaveToXml;
begin
if Supports(Component, ILoadAndSaveToXml, intf) then
intf.SaveToXML (...);
end;
Für alle
nicht von TComponent abgeleiteten Klassen gelten natürlich die von Bernhard gemachten Aussagen bezüglich der gemischten Verwendung von Interface- und Objektreferenzen.
Gruß Hawkeye