PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datamodule und MDI-Application



Harald Lietz
19.02.2000, 20:25
Hallo,

ich habe das Beispiel von Andreas Kosch zu diesem Thema vom 10.09.1999
ausprobiert. Leider bekomme ich eine "Zugriffsverletzung" wenn ich die
geöffneten Child-Formulare wieder schließen möchte. Genauer gesagt, das erste Formular läßt sich schließen, beim zweiten bekomme ich dann die Fehlermeldung (in FormClose - Table.Close). Frage, warum ... ?

Andreas Kosch
21.02.2000, 13:24
Hallo,

wenn verschiedene MDI-Childfenster unabhängig voneinander mit Daten arbeiten müssen, benötigt jedes MDI-Childfenster eine eigene Instanz (!) des Datenmoduls. Daher darf man niemals den globalen Bezeichner aus der Unit verwenden, sondern muss alle Referenzen als privates Objektfeld im MDI-Child ablegen (damit jede Childinstanz auch tatsächlich mit ihrem Datenmodul arbeitet). Bei <b>OnCreate</b> des MDI-Childs wird dann eine neue (private) Datenmodul-Instanz erzeugt.

Die dazu notwendigen Schritte werden in meinem Buch <b>Client/Server Datenbankentwicklung mit Delphi</b> auf den Seiten 176- 179 beschrieben.

Wenn man diese Zwischenschritte nicht abarbeitet, so gibt das erste MDI-Childfenster das globale Datenmodul frei, so dass alle anderen MDI-Childs beim Schliessen "ins Leere" greifen