AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Woher kommt globale Variable für Datenmodule

Ein Thema von dataspider · begonnen am 6. Jan 2013 · letzter Beitrag vom 7. Jan 2013
Antwort Antwort
Seite 2 von 2     12   
Furtbichler
(Gast)

n/a Beiträge
 
#11

AW: Woher kommt globale Variable für Datenmodule

  Alt 7. Jan 2013, 07:36
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.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Woher kommt globale Variable für Datenmodule

  Alt 7. Jan 2013, 07:50
@@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
Frank Reim
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#13

AW: Woher kommt globale Variable für Datenmodule

  Alt 7. Jan 2013, 08:15
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#14

AW: Woher kommt globale Variable für Datenmodule

  Alt 7. Jan 2013, 09:57
Ja, aber wenn doch keine Instanz erzeugt wird?

...

Oder geht es nur um den Designer?
Natürlich geht es zur Laufzeit nicht, wenn keine Instanz erzeugt wird. Wohin sollten die Events auch verlinkt werden.

Für den Designer wird allerdings immer eine Instanz erzeugt. In dem Fall ist die dann aber vom Typ TDataModule.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz