Vielleicht hilft die das weiter.
Ich gehe aber über die Supports-Methode, um gleich ne rückmeldung zu bekommen, wenn das Interface nicht vorhanden ist.
Delphi-Quellcode:
procedure TFormEditWindow.ControlChange(Sender: TObject; NewObject: TObject);
var
InheritedInterface : IcParamFromObject;
begin
// Testen, ob Interface in Klasse vorhanden ist
if Supports(NewObject, IcParamFromObject, InheritedInterface) then
begin
//Wenn vorhanden, dann das extrahierte Interface abfragen
LogForm.LogMemo.Lines.Add(InheritedInterface.GetParamAsString);
end
else
begin
// ansonsten Fehler ausgeben
raise ERangeError.CreateFmt('Not supported');
end;
end;
//edit: formatierung ausgebessert