Registriert seit: 22. Sep 2005
221 Beiträge
Delphi 12 Athens
|
AW: Parameter in Event übergeben
6. Sep 2013, 13:49
ok, danke Euch!
Ja, klar gewollt ist natürlich, dass jede Instanz ihre Liste hat. Im Mainform erzeuge ich dann eine Instanz des Designers und der führt dann seine Liste an Objekten mit. Ja, mein "in der ganzen Klasse verfügbar machen" war also natürlich falsch und irreführend.
Präfix "f" lässt sich machen, klar, danke für den Hinweis. Und auch der Ansatz mti der Objektliste macht Sinn. Im aktuellen Entwurf hat nur die Instanz selbst mit der Liste zu schaffen. Von aussen wird ein neues Objekt nur durch die prozedur "AddObject" (später dann "RemoveObject", "MoveObject", etc.) verwaltet. Direkt will ich da von der mainform nicht reinpfuschen.
Das bringt mich allerdings gleich zu einer anderen Design-Frage. Wenn ich das so handhabe, wie beschrieben, dann kennt nur dieses Objekt die Objektliste (und zwar hier zum Zeichnen). Wenn ich jetzt die Objektliste für andere Zwecke haben möchte (etwa zum speichern oder für Berechnungen), dann müsste ich im Grunde neue Objekte erschaffen, die wiederum die Objekte in ihren Listen haben und mit den Daten ihre Funktionen durchführen. Die Redunanz hier wäre überschaubar, weil die Daten zur Zeichnung und die Daten zur Berechnung recht unterschiedlich sind (die Zeichnung ist ein einfaches Symbol, für die Berechnung kommt natürlich viel mehr dazu). Aber dennoch: man müsste für jedes neue Ding, das ich hinzufüge, ein Objekt in allen unterschiedlichen Objektlisten der einzelnen Objekte anlegen.
Alternativ könnte man in einer eigenen Überklasse eine Objektliste halten (die alle notwendigen Daten enthält) und diese (oder Teile davon) an diverse Objekte übergeben, je nachdem, was damit passieren soll. Gibt es dazu Empfehlungen?
Geändert von cltom ( 6. Sep 2013 um 13:55 Uhr)
|