Kann mir jemand erklären, wann das Reference-Counting genutzt wird?
Wenn du nur mit Interfaces arbeitest:
Delphi-Quellcode:
procedure TForm1.Test();
var
testInterface: ITest;
begin
testInterface := TTest.Create;
testInterface.CallInterface(testInterface);
testInterface := nil; // zur expliziten Freigabe, ohne die Zeile wird es nach dem end darunter freigegeben
end;
Am einfachsten machst du es dir, wenn du den Klassennamen ausschließlich (!) bei der Erstellung der Instanz mit TTest.Create verwendest. Danach solltest du immer mit ITest arbeiten ohne Casts auf TTest oder Variablen vom Typ TTest.