Mal eine grundsätzliche Frage:
MyList ist ein IMyList und enthält ein Objekt TMyList, das auch IGuid unterstützt.
So klappt das wie erwartet.
Delphi-Quellcode:
if Supports(MyList, IGuid, lGuid) then
lGuid.Guid := NewGuid;
Ein Hardcast klappt nicht. Der Debugger zeigt Unsinn an und die Zuweisung erfolgt auch nicht korrekt.
IGuid(MyList).Guid := NewGuid;
Sollte der Hardcast nicht eigentlich funktionieren?
Supports zeigt ja, dass IGuid unterstützt wird.
Ach so (fällt mir gerade ein), oder müsste man erst in das Objekt casten und dann in das andere Interface?
Oder mache ich was anderes falsch?