Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#11

AW: Objekt als Rückgabe von Funktion - Wie elegant Freigabe regeln?

  Alt 24. Aug 2013, 16:34
Das kannst Du recht effektiv verhindern, indem Du den Objektkonstruktor durch eine Klassenfunktion verdeckst
Das ist jetzt bei mir nicht so das Problem, da die Objektinstanz ja sowieso innerhalb meiner Factory Funktion erzeugt wird. Als Rückgabetyp würde ich dann direkt das Interface angeben.

Probleme gibt es nur, wenn der Anwender auf die Idee kommt: "Hey, ich caste das Interface jetzt mal ganz schnell in die konkrete Klasse und speicher' mir das ganze in einer TList". In diesem Falle wird der Referenzcounter des Interfaces nämlich dekrementiert. Ist der Thread dann mit der Verarbeitung fertig, wird die Objektinstanz automatisch freigegeben und spätere Zugriffe auf das vom Anwender zwischengespeicherte Objekt laufen ins Leere.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat