Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
Delphi 12 Athens
|
AW: Supports ohne out Parameter
10. Okt 2012, 10:47
Die anderen haben es ja schon erklärt. Das Support ohne out-Parameter ruft intern das mit out-Parameter auf, wobei das temporäre Interface beim Verlassen der Funktion freigegeben wird. Da a ein TFirstSecond ist, was von TInterfacedObject abgeleitet wurde, ist der interne Referenzzähler nach dem Create Null. Wenn jetzt die implizite Referenzzählung ein Add/Release ausführt, wird beim Release der Referenzzähler wieder zu Null und die Instanz wird freigegeben. Ab dann zeigt a auf eine nicht mehr existente Instanz.
Wenn du sowohl mit Interfaces als auch mit Objekt-Instanzen arbeiten willst, kannst du statt TInterfaceObject auch TInterfacedPersistent nehmen.
|