AGB  ·  Datenschutz  ·  Impressum  







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

Mehrere Projekte aber gemeinsame DataModule

Ein Thema von Sigi55 · begonnen am 20. Mai 2014 · letzter Beitrag vom 21. Mai 2014
Antwort Antwort
Sigi55

Registriert seit: 3. Jan 2010
36 Beiträge
 
Delphi 5 Professional
 
#1

Mehrere Projekte aber gemeinsame DataModule

  Alt 20. Mai 2014, 22:25
Hallo Zusammen,

ich steh vor einem Designproblem:

Ich habe mehrere Projekte einzeln entwickelt und möchte die jetzt zu einer Projektgruppe zusammenfassen,
da sie eigentlich alle die gleichen oder ähnliche units verwenden.

Also:

1.Ordner Projekt1
2.Ordner Projekt2
usw...
Ordner GemeinsameUnits(da liegen dann die gem. genutzten units drin)

Geht auch alles soweit gut.

Jetzt möchte ich aber auch die DataModule gemeinsam nutzen...
1. DataModule Paradox.DB (.. ich weiss, Steinzeit, geht aber nicht anders)
2. DataModule MS Sql
3. DataModule MySql

Das Problem ist, das die Events wie ...OnGetText, ...OnDataChange, etc.
natürlich in den unterschiedlichen Projekten anders ausgewertet werden
müssen.

Wie kann ich das auseinanderhalten?

Kann ich das über den ExeNamen regeln?

Kann ich die Events/Proceduren vom DataModule auf die Hauptform
verlagern ?

Wie geh ich das an oder geht das garnicht ?

Ich steh da auf'm Schlauch, hat jemand ne Idee?
Danke.

Gruß

Sigi
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Mehrere Projekte aber gemeinsame DataModule

  Alt 21. Mai 2014, 00:22
Ich finde, anwendungsabhängig ist nur der TDataSource. Datenmodule für DB-Zugriff oder sonstwas habe ich immer allgemein gehalten und verwende die immer gerne in ganz anderen Projekten wieder. Der DataSource der auf ein TdataSet zeigt habe ich nie direkt auf den geshareten Datenmodulen sondern irgendwo anders untergebracht. Gerne auch direkt auf dem GUI-Formular wenn es denn für einen DBGrid oder LiveBindings dort ist.

Kann aber auch sein, dass ich die Frage falsch verstanden habe. Oder die grundlegende Philosophie hinter Datenkomponenten. Oder beides.
  Mit Zitat antworten Zitat
Sigi55

Registriert seit: 3. Jan 2010
36 Beiträge
 
Delphi 5 Professional
 
#3

AW: Mehrere Projekte aber gemeinsame DataModule

  Alt 21. Mai 2014, 00:47
Kann aber auch sein, dass ich die Frage falsch verstanden habe. Oder die grundlegende Philosophie hinter Datenkomponenten. Oder beides.
Hallo Günther,

DAS ISSES !! Du hast alles richtig verstanden
Als ich mit Delphi angefangen habe, so vor ca. 3 Jahren,
hab ich mir alle Komponenten auf die Form gepackt bis ich nix
mehr sehen konnte
... und dann bin ich irgendwann über das DataModule gestolpert
und hab dann richtig "sauber gemacht", alles was irgendwie mit Datenbanken,
etc. zu tun hat, ab in das DataModule.
Ich brauch ja nur die DataSources wieder auf die entsprechende Form packen
und alles ist wieder hübsch.
Super, Danke für den Anstoß!

Gruß

Sigi

PS.: Ich merke, ich hab noch viele grundsätzliche Lücken in Delphi, die
letzte Sprache in der ich etwas geschrieben habe war Clipper mit dBase.dbf's
und das ist 20 Jahre her ...
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Mehrere Projekte aber gemeinsame DataModule

  Alt 21. Mai 2014, 05:28
Wie kann ich das auseinanderhalten?
Du könntest deiner Datenmodul-Klasse ein Property verpassen, das von der jeweiligen Haupt-Unit gesetzt wird. Anhand der unterschiedlichen Werte, die dieses Property zugewiesen bekommt, unterscheidest du, welche der Anwendungen gerade gestartet wurde.

Kann ich das über den ExeNamen regeln?
Erscheint mir unzuverlässig, denn schließlich kann der Anwender den Exenamen leicht ändern.

Kann ich die Events/Proceduren vom DataModule auf die Hauptform verlagern?
Natürlich kannst du das, erscheint mir aber nicht wirklich sinnvoll, zumal die Hauptform bei größeren Anwendungen sowieso schon recht vollgestopft ist.

Wie geh ich das an oder geht das garnicht?
Wie gesagt: Anhand des Property-Wertes – das Property könntest du z.B. ApplicModus nennen – verzweigst du dann in die jeweils benötigten Proceduren, z.b. zum Aktivieren der Connection-Componente, der Queries oder Datasets und schließlich der Zuweisung dieser Datasets an die jeweiligen Datasources.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Mehrere Projekte aber gemeinsame DataModule

  Alt 21. Mai 2014, 06:23
Die Richtung sollte im Gegenteil umgekehrt sein:
Statt diese Events in das Hauptformular zu verlagern solltest du besser ein weiteres (anwendungsspezifisches) Datenmodul dazwischenschalten, das dann nicht nur diese bekommen kann, sondern das auch gleich Funktionalität des Hauptformulars ausgelagert bekommen kann.

So erwischst du zwei Fliegen mit einer Klappe, deine anwendungsspezifische Datenanbindung und eine Verschlankung des Hauptformulars. Das erleichtert das ganze sehr, wenn du z.B. einmal eine neue GUI entwickelst oder die Anwendung als Dienst laufen lassen möchtest, da in der GUI selbst schon weniger drin steckt.

Eine andere Möglichkeit sind projektspezifische Compilerdirektiven (gesetzt in den Projektoptionen), die du per IFDEF abfragen kannst. Dafür müssen deine Anwendungen aber verschiedene Ausgabepfade für die DCUs haben.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

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

AW: Mehrere Projekte aber gemeinsame DataModule

  Alt 21. Mai 2014, 09:22
Ich habe auch Datenmodule für mehrere Projekte.
Aber diese enthalten nur das, was in allen Projekten gleich ist.
Ich binde diese auch ein in jedes Projekt, leite diese aber dann noch ab.
Das ist mir so lieber, sonst ändere ich ja jedes Mal, wenn ich ein Datenmodul anfasse, alle Projekte.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Sigi55

Registriert seit: 3. Jan 2010
36 Beiträge
 
Delphi 5 Professional
 
#7

AW: Mehrere Projekte aber gemeinsame DataModule

  Alt 21. Mai 2014, 20:52
Hallo Zusammen,

erstmal Danke für's "Auf die Sprünge helfen ".

Das wird wohl ne Mischung aus beiden Vorschlägen werden,
wenn ich mir das so richtig vorstelle:

1. gemeinsame DataModule für die Datenverbindungen, Queries und Tabellen
2. anwendungsspez. DataModule für die Datasources, Eventhandling für OnChange, etc.
3. Property für die Hauptform, sodaß ich in dem gem. DataModule, unterschiedliches
Eventhandling für z.b. OnCalcFields, etc. auseinanderhalten kann.

Lieg ich da so richtig?

Auf der anderen seite, wenn ich sowieso ne Property setze, kann ich sie auch
für die Datasources nutzen oder ?

Noch Vorschläge, (Hauser)?
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:52 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