![]() |
Verständnisfrage Vererbung
Hallo,
ich habe eine DB-Anwendung mit dem üblichen Aufbau: - Stammdaten mit den entsprechenden Formularen - Detaildaten mit Formularen so z. B. Stammdaten Rezepte Stammdaten Zutaten Detaildaten mit Unterabfrage Rezept, Liste der Zutaten und Kochvorschrift. Um mir die Formularprogrammierung möglichst einfach zu machen, habe ich ein Template-Formular erstellt mit den entsprechenden Funktionen und Prozeduren, die jedes Formular hat (Suche, Einfügen, Löschen usw.). Dieses Template erbt jedes neue Formular. Es funktioniert 100 % für die Stammdaten, also bei Formularen ohne Detaildaten, die aus Unterabfragen kommen. Bei den Formularen mit Detaildaten habe ich für die Unterabfragen zusätzliche Funktionen programmiert, die ebenfalls alle beim ersten Formularaufruf funktionieren, also wenn das Formular created wird. Problematisch wird es, wenn ich innerhalb eines Formulare (mit Unterabfragen) zwischen den Datensätzen wechsle. Dann werden zwar die vererbten Funktionen abgearbeitet, die speziellen aber nicht. Hat jemand eine Idee, was ich da falsch machen könnte? Danke für Eure Hilfe! Andreas |
AW: Verständnisfrage Vererbung
Sorry, meine :glaskugel: ist gerade zur Reparatur.
Nein, im Ernst, ohne entsprechende Einblicke in deinen Quellcode ist das nur ein Stochern im Nebel. Magst Du hier ein Beispiel posten? |
AW: Verständnisfrage Vererbung
Liste der Anhänge anzeigen (Anzahl: 2)
Eventuell hänge ich einfach mal die
BaseForm.pas und Rezepte.pas hier an. Die sind zwar noch nicht hübsch aber hoffentlich findest Du Dich / Ihr Euch zurecht. Die BaseForm.pas ist also das Template, das jedes Formular erbt. |
AW: Verständnisfrage Vererbung
Zitat:
|
AW: Verständnisfrage Vererbung
Zitat:
|
AW: Verständnisfrage Vererbung
Poste mal noch die zu den bereits vorhandenen PAS-Dateien gehörenden DFM-Dateien.
Und was verstehst Du im Zusammenhang unter "speziell" ? Zitat:
|
AW: Verständnisfrage Vererbung
Liste der Anhänge anzeigen (Anzahl: 1)
... anbei die beiden DFMs.
Mit "speziell" meine ich nur die Unterschiede zwischen den reinen Stammdatenformularen (nur Edit- und Combobox-Felder) und den Formularen, die Unterabfragen haben (dbGrid). Hoffentlichen helfen die DFMs weiter. Viele Grüße Andreas |
AW: Verständnisfrage Vererbung
Das hier reicht jedenfalls nicht aus.
Delphi-Quellcode:
Ich meine da jetzt, einfach class (Basisform), so in der Richtung hinzuschreiben. Das ist ja schön, es wird irgendwas vererbt, d.h. man muss es nicht nochmals definieren, nur was ? Tja das weiss die erbende Form leider nicht. Deine DFMs geben auch keinen richtigen Aufschluss. Ich mache es deshalb kurz : lege das Basisform wie gewünscht an. Also mit Speicher-Button usw. Gehe dann aber mit rechter Maustaste wieder da drauf und sage "in Objektablage soeichern" oder ähnlich. Wird nun eine ähnliche Form gebraucht, dann gehe auf neu -> weitere und dann auf diese Form. Man braucht sich dann zumindest nicht zu überlegen, ob da irgendein "inheritd" fehlt. Insgesamt gesehen ist folgendes wichtig (Stichwörter, bitte in Hilfe nachlesen) : inherited, override, published, protected.
TfrmRezepte = class(TfBaseForm)
|
AW: Verständnisfrage Vererbung
...sorry, ich saß heute Morgen auf dem Schlauch.
Natürlich kommen die Formulare aus der Objektablage ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 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 by Thomas Breitkreuz