![]() |
AW: Woher kommt globale Variable für Datenmodule
Keine Bange: Entweder sind die Verknüpfungen zur Laufzeit alle weg (Datasource im Datenmodul), oder es wird nichts angezeigt (Datasource woanders)
Ich mache das häufiger (bzw. habe es früher gemacht): Ein Formular, das Daten anzeigen soll, verwaltet seine eignene Datenmodulinstanz. Alle datensensitiven Steuerelemente sind mit der auf dem Formular plazierten TDataSource-Instanz verknüpft. So geht auch nichts verloren, wenn mal wieder im Designer das Formular aber nicht das Datenmodul geladen ist. Ich habe eine Eigenschaft 'DMKunde : TDMKunde', dessen Setter den TDatasource-Instanzen das jeweilige Dataset explizit zuordnet. Im Designer verwende ich die globale Instanz zum Testen und designen. Per GExperts ('Set Component Properties') sorge ich dafür, das keine Verbindung, keine Query 'aus Versehen' implizit erstellt wird. |
AW: Woher kommt globale Variable für Datenmodule
@@FurtBichler
So werde ich es auch machen. DataSource auf das Formular und die Zuweisung zur Laufzeit auf das erzeugte DM. Ich habe mein Testprojekt so erweitert, das ich die Formulare mehrfach erzeugen kann. Schon beim testen war mir klar, dass es gar nicht anders funktionieren kann. Wenn ich 2 Formulare erzeuge, verwenden logischerweise beide das erste erzeugte Datenmodul, das 2. DM wird nutzlos erzeugt. Ich meine, wenn die DataSource Eigenschaft der Grid im OI zugewiesen wird. Komisch, dass manches - was eigentlich so logisch ist - einen das Hirn so vernebeln kann... Frank |
AW: Woher kommt globale Variable für Datenmodule
Nicht vergessen: Zur Sicherheit die globale Variable umbenennen (ich meine, ich hätte Probleme gehabt, die Deklaration zu entfernen).
Alternativ solltest Du auf keinen Fall (so wie in meinem Beispiel), die Eigenschaft 'DMxxx : TDatenModul' so nennen, wie die globale Variable. Ich bin da mehrmals sowas von auf die Fresse gefallen. Hab heute noch einen Überbiff defwegen. |
AW: Woher kommt globale Variable für Datenmodule
Zitat:
Für den Designer wird allerdings immer eine Instanz erzeugt. In dem Fall ist die dann aber vom Typ TDataModule. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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