Ich bin mir nicht ganz sicher, ob ich dich richtig versteh:
Was ich möchte:
- "InlineEditor" auf Basis TForm
- über 20 verschiedene Objekttypen und damit Editoren
OK, ich denke, das hab ich noch verstanden. Du hast 20 verschiedene Objekttypen und willst für jeden nen InlineEditor haben, mit den man jeweils ein Objekt bearbeiten kann.
Zitat:
Was ich gemacht habe:
- Basis Form
- abgeleitete Klasse für Objekt X von BasisForm
- Klasse bekommt beim Create das Objekt mit
- Klasse erzeugt die Controls und legt diese in TObjectList ab
- Klasse stellt die Daten dar
- von außen wird nur Position (Top/Left) gesetzt
- usw...
OK, hört sich gut an. Hätt ich wahrscheinlich auch so gemacht.
Zitat:
Jetzt habe ich gemerkt, daß wenn ich für jeden Objekttyp eine eigene Klasse ableite vieles doppelt habe.
Dann hast du wie immer zwei Möglichkeiten: Delegation und Vererbung.
Zitat:
Es gibt ja auch Gemeinsamkeiten die ich nicht im Vorfahr ablegen kann.
Die da wären? Da versteh ich nicht so ganz, was dein Problem ist. Leider ist das wohl die zentrale Stelle...
Zitat:
Ich wollte aber auch eine Lösung, daß sich der Editor selbst "organisiert" . Quasi Daten übergeben und um nix kümmern.
Da versteh ich nicht, warum das nicht gehen sollte. Würde ich auch wollen sowas. Und ich sehe noch keinen Grund, was da nicht funktionieren soll.
Zitat:
Dann nur je nach Status (OK / Abbruch) die Daten über die ObjectList holen oder verwerfen.
Da versteh ich nicht, wo auf einmal die ObjectList herkommt.
Zitat:
1. Möglichkeit:
- für jeden Objekttyp eine Klasse
2. Möglichkeit:
- eine Klasse
- anhand des Objekttypes entscheiden welche Controls erstellt werden (ObjectList)
Kommt drauf an. Dazu müsste man wissen, wie stark sich die Objekttypen unterscheiden. Je stärker, desto eher getrennte Klassen.
Zitat:
3. Möglichkeit:
- eine Klasse mit der Basis
- alles andere von außen regeln (Controls / Daten)
Da bin ich mir nicht sicher, ob ich dich richtig verstehe. Du willst von außen die Controls deines InlineEditors händisch befüllen? Würde ich definitiv von abraten. Das ist ganz schlecht. Inhaltskopplung urgs... Du kennst die Geschichte vom Paperboy und die Brieftasche?
Zitat:
es sind auch Controls vom Typ Combobox enthalten. Wenn man das Objekt selbst "entscheiden" lassen würde müßte man auch dem Editor mitteilen wo er die Daten herbekommt. Das ist eher nicht optimal oder ?
Da weiß ich gar nicht, was du meinst.
mfg
Christian