Es macht keinen Sinn sich so etwas anzutun. In einem Satz:
Entweder du referenzierst etwas via Interface und nutzt ARC, oder man referenziert es über Klassentypen und nutzt manuelle Speicherverwaltung.
Schau doch im Debugger einfach mal was genau
(testInterface as TTest).Free;// Fehler
hier der "Fehler" ist: Hier wirft die Delphi-Bibliothek selbst einen Fehler und meint "
Hey Moment, das kann doch überhaupt nicht sein! Es bestehen noch Referenzen auf mich, ich kann mich doch nicht freigeben!":
Delphi-Quellcode:
if RefCount <> 0 then
Error(reInvalidPtr);