Hallo,
dieses ist eine etwas verworrene Frage, aber ich weiss hier nicht weiter:
Stellt Euch vor,
ein Hauptformular-
Unit wird durch eine andere
Unit bedient.
Nebenbei habe ich mir eine
VCL-Komponente geschrieben, die mir gleichzeitig die Datenstruktur (Typen Classes, Objects) für mein Programm (für Hauptformular-
Unit und bedienendes
Unit gleichfalls) zur Verfügung stellt.
Ganz prima, ich kann aus der bedienenden
Unit die Datenstruktur der
VCL-Komponente über deren Properties mitbenutzen und sozusagen diese Komponente mit Dateninhalten versorgen.
Das Verlockende war, daß meine Datenstruktur (Typen Classes, Objects) der
VCL-Komoponente mit der im Programm nötigen Datenstruktur übereinstimmen, und ich somit die nochmaligen Deklarationen spare.
Nun aber das Problem
wenn ich diese
VCL-Komponente aus der Toolpatelle in mein Hauptformular-
Unit ziehe.
Dort wird von der
VCL-Komponente und all seinen gekapselten Daten eine eigene Instanz verwendet (nicht die Instanz, die von der Hilfsunit genutzt wird), und nichts ist von meinen Daten mehr vorhanden.
Das verlockende und schöne, was ich eigentlich nutzen wollte, ist die Funktionsweise der gekapselten Methoden, in denen ziemlich viel im Hintergrund laufen kann.
So brauche ich mit meiner
VCL-Komponente nur einmal ein Bild zeichnen, und dieses wird jedesmal bei Änderung einer Variablen aktualisiert.
Wenn ich Datenstruktur und
VCL-Komponenten strikt trennen würde, müsste ich sonst jedesmal nach Variableninhaltänderung die Aktualisierung der Zeichnung im Code anschubsen.
Ich hoffe dass Ihr meine Problembeschreibung einigermassen verstehen könnt.
Vielleicht hat da jemand eine geniale Idee, mit der ich in obiger Problematik leicht pflegbaren Code machen kann.
Danke und Grüße
EB