Einzelnen Beitrag anzeigen

Schokohase
(Gast)

n/a Beiträge
 
#13

AW: Refcount meines Objektes geht zu früh auf 0

  Alt 24. Okt 2018, 16:22
Du darfst auch nicht folgendes machen:

Delphi-Quellcode:
procedure DoIt(Intf: IInterface);
begin
end;

...

DoIt(TMyClass.Create); // falsch!
In der ersten Variante kommt auch die Referenzzählung durcheinander.
Nein, kommt sie nicht. Das ist kein Problem
Doch, es gab Compiler-Versionen, bei denen das schief ging. Ich bin mir allerdings gerade unsicher, ob das mit oder ohne const-Parameter war. Eines von beiden schlug fehl.
Ja, wenn die Methode so definiert ist
Delphi-Quellcode:
procedure DoIt(const Intf: IInterface);
begin
end;
dann wird der RefCount nicht erhöht und man hat bei DoIt(TMyClass.Create); ein Mem-Leak. Das ist auch heute noch so.
  Mit Zitat antworten Zitat