Hallo,
ich möchte herausfinden ob mein Objekt ein bestimmtes Interface unterstützt. Ich habe schon diverse Threads hier gelesen und verschiedene Tutorials aber ich sehe den Fehler nicht. Folgendes Minimalbeispiel klappt schon nicht:
Delphi-Quellcode:
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
ITest = Interface
['{0EA740D1-F9E6-42CB-9757-68AE8AFCF086}']
end;
TTest = Class(TComponent, ITest)
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
obj: TTest;
intf: ITest;
isSupported: Boolean;
begin
obj := TTest.create(nil);
isSupported := Supports(obj, ITest, intf);
assert(isSupported);
end;
Nehme ich
TInterfacedObject
gibt es mehrere mögliche Überladungen. Auch mit TObject und eigener Implementierung von
Release, AddRef und QueryInterface
bekomme ich nie true raus. Kann mich bitte jemand in die richtige Richtung schubsen?