Announcement

Collapse
No announcement yet.

Probleme mit Datenmodulen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Datenmodulen

    Hallo,

    wer hat Erfahrungen beim Einsatz von Datenmodulen? Nach meiner Meinung sind bei der Programmierung eher hinderlich als hilfreich. Falls jemand Lösungen zu folgenden Problemen hat, würden sie mich interessieren:

    Problem: Ereignisbehandlungsroutinen

    Die Ereignisbehandlungsroutinen der Tabellen sind häufig die einzige (bzw. effizienteste) Möglichkeit zur Reaktion auf Aktionen des Benutzers (Mausklicks, Eingaben usw.) in einem Formular. So gibt es z.B. keine geignete Möglichkeit, um auf das Verschieben des Satzzeigers einer Tabelle in einem dbgrid zu reagieren, außer durch die AfterScroll-Methode der Tabelle. Weiterhin kommt es häufig vor, daß verschiedene Aktionen des Benutzers sowohl die gleichen Ereignisbehandlungsroutinen aktivieren als auch eine gleiche Behandlung im Programm erfordern. Durch die Verlagerung der Tabellenkomponenten in das Datenmodul, sind solche formularspezifischen Programmreaktionen auf Aktionen des Benutzers aber nur durch zusätzliche "manuelle" Codierung zu erreichen.

    Problem: MDI-Anwendungen

    In MDI-Anwendungen wird i.d.R. für jedes Formular eine eigene Instanz des Datenmoduls benötigt. Dies erfordert ebenfalls einigen zusätzlichen Programmieraufwand, insbesondere bei Anwendungen mit vielen Dateien. Für jede Instanz müssen mindestens 3 Zeilen (Definition, Create, Destroy) geschrieben werden. Außerdem können nun die visuellen Formularelemente nicht mehr zur Entwurfszeit mit den Tabellenkomponenten verbunden werden. Auch hierfür ist zusätzlicher Programmieraufwand erforderlich.

    Problem: Lookup-Felder

    Definiert man die Lookup-Felder in den Datenmodulen, müssen für jede geöffnete Tabelle zugleich auch alle Lookup-Tabellen geöffnet werden, selbst dann, wenn man garnicht auf die Felder zugreift. Dies setzt wiederum voraus, daß die Datenmodule erzeugt wurden (siehe MDI-Anwendungen). Bei komplexen Datenstrukturen mit vielen Dateien bzw. Dateiverbindungen erhöht sich der Codieraufwand so sehr stark.

    Die wenigen verbleibenden Vorteile wiegen nach meiner Meinung die schwerwiegenden Nachteile nicht auf.

    Oder liege ich mit meiner Meinung völlig falsch ?

  • #2
    Hallo,

    Datenmodule sind eine <b>extrem nützliche</b> Angelegenzeit. Allerdings gilt hier das Gleiche wie bei den Formularen:<br>
    a) Funktionsaufteilung auf verschiedene Datenmodule, wobei das primäre Datenmodul die Anbindung an die Datenbank übernimmt (TDataBase, TIBDataBase etc.) <br>
    b) Die verschiedenen Datenmodule werden nicht alle gleich beim Programmstart erzeugt (in der DPR-Datei), sondern erst bei Bedarf<br>
    In diesem Fall sind fast alle der oben genannten Probleme keine Probleme mehr, zumal wenn auch die TDataSource-Instanz im zum Formular gehörigen Datenmodul abgelegt wird

    Comment

    Working...
    X