Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
RAD-Studio 2009 Pro
|
AW: Interfaces ohne Referenzzählung?
18. Okt 2010, 16:39
Die Objekte, um die es geht, sind Ableitungen verschiedenster Komponenten, die also normalerweise automatisch gelöscht werden, wenn ihr Owner - das Formular - gelöscht wird.
Das Interface, das ihnen allen gemeinsam ist, enthält z.B. eine function IsValid: boolean
Dazu wird ein Nachkomme von TForm implementiert, der zum passenden Zeitpunkt alle Komponenten des Formulars durchgeht, und bei den Komponenten, die dieses Interface implementieren, die Gültigkeit der Eingabe mittels IsValid prüft.
Nachdem Formularkomponenten ohnehin automatisch richtig freigegeben werden, möchte ich nicht durch die Einführung eines Interface eine völlig überflüssige und u.U. schädliche Referenzzählung zusätzlich haben. Mir ist aber eben nicht klar, für welche Objekte Delphi die automatische Referenzzählung aktiviert. Genügt es, dass irgend ein beliebiges Interface angegeben wird, um die Referenzzählung auszulösen, oder kann ich Interfaces definieren, die das nicht machen?
Klarerweise kann ich nicht von TInterfacedPersistent ableiten, weil es sich eben um Nachkommen von Tedit, tmemo etc. handelt, denen ein zusätzliches, gemeinsames Interface umgehängt werden soll.
Geändert von idefix2 (18. Okt 2010 um 16:45 Uhr)
|