Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Typecast von TObject zum Interface?

  Alt 12. Nov 2007, 17:33
Das Mischen von Objekten und Interfaces kann unangenehme Folgen haben!!
Delphi-Quellcode:
procedure TFrameKundenliste.Aktualisieren(Sender: TObject);
var
  FilterFrame: IFilterFrame;
begin
  if Supports(Sender, IFilterFrame, FilterFrame) then
  begin
    // intern wurde jetzt FilterFrame.AddRef aufgerufen
    // der Referenzzähler steht jetzt auf 1

    FilterFrame.DoSomething;
  end;

// jetzt gerät FilterFrame out-of-scope
// also wird FilterFrame.Release aufgerufen
// dann steht der Refernzzähler auf 0 und das Objekt wird freigegeben !!!
// es sei denn, man hat spezielle Maßnahmen getroffen, dass das nicht passiert
end;
Andreas
  Mit Zitat antworten Zitat