Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
19. Okt 2010
Das hat nichts mit "nicht gewollt" zu tun.
Ich habe einige verschiedene Komponenten, die zusätzliche Methoden implementieren. Wenn das Formular alle Komponenten durchgeht, soll es auf einfache Weise feststellen können, welche Komponenten diese Methoden implementieren und welche nicht, und die gleichen Methoden in den völlig verschiedenen Klassen auf einfache Art aufrufen können. Dafür eignet...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
18. Okt 2010
@himitsu
Ich kann die Komponenten nicht von einen gemeinsamen Vorfahren ableiten weil es in Delphi ja keine Mehrfachvererbung gibt. Ich brauch Ableitungen von TEdit, TMemo, TCombobox etc. Und ich will in meinem abgeleiteten Formular einfach isvalid für alle Komponenten aufrufen, die das Interface implementieren (und true für alle anderen annehmen).
@ Sir Rufo
Danke, ich werde mir den...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
18. Okt 2010
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...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by idefix2,
18. Okt 2010
So wie ich es verstanden habe, erfolgt bei allen Klassen, die ein Interface implementieren, eine automatische Referenzzählung, und jede Instanz wird freigegeben, wenn der Referenzzähleer auf null ist. Irgendwie ist mir das nicht ganz geheuer, ivh möchte mich lieber selbst um die Freigabe meiner Objekte kümmern. Gibt es eine Möglichkeit, Interfaces zu verwenden, ohne dass eine automatische...