Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Typecast von TObject zum Interface?

  Alt 12. Nov 2007, 18:04
Zitat von shmia:
Das Mischen von Objekten und Interfaces kann unangenehme Folgen haben!!
In diesem Fall (bzw. jedem in dem Supports benutzt wird) schon.
Oft hat man aber eine Objektreferenz, bei der der Typ bereits ein bestimmtes Interface unterstützt.
Dann kann man problemlos die Objektreferenz an Methoden übergeben, die einen Interfacezeiger als "const" bekommen.
Delphi-Quellcode:
class procedure Miep.Mööp(const aInterfaceRef : IMyInterface);
begin
  aInterfaceRef.DoSomething();
end;

var
  objectRef : TMyClass;
begin
  Miep.Mööp(objectRef);
Natürlich klappt das nicht mehr, wenn die Methode irgendwelche unkoscheren Dinge damit anstellt. (Zuweisen von Feldern, Weitergabe an Methode ohne "const", ...)
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat