![]() |
Entscheidungshilfe Klassenaufbau
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle...
ich komme mir mal wieder vor wie eine Frau im Schuhladen...:roll: Was ich möchte: - "InlineEditor" auf Basis TForm - über 20 verschiedene Objekttypen und damit Editoren 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... Jetzt habe ich gemerkt, daß wenn ich für jeden Objekttyp eine eigene Klasse ableite vieles doppelt habe. Es gibt ja auch Gemeinsamkeiten die ich nicht im Vorfahr ablegen kann. Ich wollte aber auch eine Lösung, daß sich der Editor selbst "organisiert" . Quasi Daten übergeben und um nix kümmern. Dann nur je nach Status (OK / Abbruch) die Daten über die ObjectList holen oder verwerfen. 1. Möglichkeit: - für jeden Objekttyp eine Klasse 2. Möglichkeit: - eine Klasse - anhand des Objekttypes entscheiden welche Controls erstellt werden (ObjectList) 3. Möglichkeit: - eine Klasse mit der Basis - alles andere von außen regeln (Controls / Daten) Welche Vorgehensweise würdet ihr empfehlen ? Danke Nachtrag: 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 ? |
AW: Entscheidungshilfe Klassenaufbau
Ich bin mir nicht ganz sicher, ob ich dich richtig versteh:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
mfg Christian |
AW: Entscheidungshilfe Klassenaufbau
Danke für das ausführliche Statement... 8-)
Zitat:
Zitat:
Zitat:
TKlasse1: TForm TKlasse2: TKlasse1 // Event entgegennehmen, Liste Controls erzeugen/ freigeben ... Gemeinsamkeiten TKlasseEditorObject: TKlasse2 //managed die benötigten Controls und die Anzeige Zitat:
:hi: |
AW: Entscheidungshilfe Klassenaufbau
Irgendwie hast du das Talent alles so zu erklären, dass ich es nicht verstehe. Oder es ist schon spät...
Zitat:
Zitat:
- auch intern wüsste ich nicht, warum du über die Liste gehen willst. Kannst du nicht private Felder nehmen? Zitat:
Zitat:
mfg Christian |
AW: Entscheidungshilfe Klassenaufbau
Moin... :hi:
war bestimmt nur spät :zwinker: Zitat:
:lol: die heißen nicht so... hast du schon richtig gesehen. Zitat:
Zitat:
Zitat:
Danke... jetzt ist die Richtung schon klarer :thumb: |
AW: Entscheidungshilfe Klassenaufbau
Wozu brauchst du das ganze Zeug überhaupt?
Hier mal ein Beispiel, dass immer wieder aufkommt: Eine Software druckt irgendwelche spezielle Berichte, Rechnungen, Artikellisten usw. Es gibt dann Kunden, die bestimmte Dinge im Layout geändert haben wollen. Irgendjemand kommt dann auf die glorreiche Idee: "Wäre es nicht cool, wenn der Kunde selbst seine Reports frei gestalten könnte?" Es gibt auch Report Generatoren die sog. "End-User Report Designer" enthalten. Aber was soll ich sagen: Es funktioniert nicht!! Die Kunden verstehen nicht wie der Designer funktioniert, sie haben keine Ahnung von Bändern und weshalb bestimmte Dinge technisch nicht möglich sind, usw. Ok, sie können ein Feld verschieben, die Breite oder den Font verändern, aber das war's dann auch. Das Gleiche trifft auch auf Designer für Formulare zu. Hinter jedem Formular sitzt eine "Bussines-Logik". Das Formular bedient sich dieser Logik. Wenn das Formular vom Endkunden frei verändert werden kann und mit der relativ starren Bussines-Logik interagieren soll, dann geht das in aller Regel schief. Was mich dann wieder zur Frage am Anfang bringt. |
AW: Entscheidungshilfe Klassenaufbau
Zitat:
ich habe in meiner Anwendung haufenweise Listen von Daten (intern Objekte). Diese Daten werden in Listviews visualisiert und bearbeitet. Ich will einen "InlineEditor" der sich anhand des Objekttyps selbst verwaltet (visuell/Daten)...siehe Bild 1. Beitrag ...das wars... :lol: |
AW: Entscheidungshilfe Klassenaufbau
Zitat:
Zitat:
Zitat:
Zitat:
mfg Christian |
AW: Entscheidungshilfe Klassenaufbau
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo...
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz