@Robert, sau..
Ich empfehle Dir trotzdem mal über die Verwendung von Interfaces nachzudenken. Dann kannste nämlich die komplette Tobject Klasse im privaten implementierungsteil der Unit verkapslen. Zusätzlich umgehst Du Probleme wie "was wenn der User TMyObject.Free aufruft", und wie soll der user sich vernünftig verhalten, muss er nun das Object freigeben oder nicht. Die häufigste Supportfrage wird aber sein "How Robert, can I create a TMyObject ? on many tries the system display a unreadable message "Ein TMyObject kann nicht erzeugt werden".".<br>
Bei Interfaces haste auch den Vorteil das Du spätere Erweiterungen einfach als gepluggtes Interface an die bestehenden anhängst. Heist, will der User die neueren Features nutzen muss er das neuere Interface erfragen.<br>
Übrigens, der RefCounter eines internen, interfaced TMyObject würde dann auch die Anzahl der Allokationen eines Interfaces anzeigen.<br>
Gruß Hage
Ich empfehle Dir trotzdem mal über die Verwendung von Interfaces nachzudenken. Dann kannste nämlich die komplette Tobject Klasse im privaten implementierungsteil der Unit verkapslen. Zusätzlich umgehst Du Probleme wie "was wenn der User TMyObject.Free aufruft", und wie soll der user sich vernünftig verhalten, muss er nun das Object freigeben oder nicht. Die häufigste Supportfrage wird aber sein "How Robert, can I create a TMyObject ? on many tries the system display a unreadable message "Ein TMyObject kann nicht erzeugt werden".".<br>
Bei Interfaces haste auch den Vorteil das Du spätere Erweiterungen einfach als gepluggtes Interface an die bestehenden anhängst. Heist, will der User die neueren Features nutzen muss er das neuere Interface erfragen.<br>
Übrigens, der RefCounter eines internen, interfaced TMyObject würde dann auch die Anzahl der Allokationen eines Interfaces anzeigen.<br>
Gruß Hage
Comment