Ich glaube keiner versteht mich.
Sprint vielleicht, aber das andere ist wohl viel komplizierter als überhaupt gebraucht. Also gut, ich bringe ein ausführlicheres Beispiel :
2 Ausgabe-Grids. Eines für Lager, das andere für Preise. In beiden Fällen brauche ich zuerst mal die Artikel und da fängts an. Die sind etwas kompliziert. Sie können 1-3 Zeilen für die Bezeichnung haben. Sie werden je nach Eigenschaften farblich gekennzeichnet usw. Jetzt habe ich das alles in einer separaten
Unit. Die Anzeige sieht dann so aus :
Delphi-Quellcode:
ZeigePosition;
ZeigeDetailposition;
ZeigePosition zeigt die Artikel mit allem drum und dran an. ZeigeDetailposition dient zum Anzeigen
entweder des Lagerbestandes
oder des Preises.
ZeigeDetailPosition bleibt erst mal leer, weil erst später feststeht was jetzt angezeigt wird (also Lager oder Preis). Nun habe ich in den abgeleiten Klassen 2 Datasets PreisDS und LagerDS. Mit 2 verschiedenen Joins einmal über Lager und einmal über Preise. Die Ursprungsklasse kann davon aber noch nichts wissen. Meine Überlegung war, die Logik so in der Ursprungsklasse beizubehalten, aber eben mit einem leeren Dataset, daß erst später konkret besetzt wird.
Mit der Property ging das wohl schon so, bis auf die Tatsache, daß kein Zugriff darauf möglich ist. Es sieht also so aus, daß die Feldnamen bzw. die Daten für die Artikel in beiden Fällen gleich sind (das ganze läuft über einen Join (ARTIKEL JOIN LAGER bzw. ARTIKEL JOIN PREIS) und ich eben im Vorfeld alles was mit den Artikeln zu tun hat erledigen will. Würde das gelingen, so müßte ich nur noch in ZeigeDetaildaten die entsprechende Lagerdaten/Preise anzeigen.
ZeigePositionen ist nun gedacht zur Anzeige der immer gleichen Artkeldaten und das kann ich nicht nutzen, weil zum Schluß diese Daten in den Datasets LagerDS bzw. PreisDS drin stecken. Davon weiß eben die Grundklasse noch nichts. 8)