![]() |
TDataModule cannot be found...
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich nutze in meinem aktuellen Delphi 12 Projekt ein zentrales Datenmodul (TDataModule). Darin sind die zentrale Verbindung zu einer Datenbank sowie einige Queries definiert. Weiterhin ist dort eine zentrale Image-Liste (TVirtualImageList) definiert. Solange ich das Datenmodul in der aktuellen Sitzung einmal geöffnet hatte funktioniert alles. Ist aber nach dem Laden des Projekts (z.B. nach Start der IDE) das Datenmodul nicht geöffnet erhalte ich Fehler. In den Formularen die das Datenmodul benutzen sind alle Bezüge undefiniert. Beim Kompilieren erhalte ich z.B. den folgenden Fehler: Anhang 56517 Ich meine (bin mir aber nicht sicher), dass das erste seite heute so ist. Woran kann das liegen? Habe ich da irgendwo was verstellt? Wäre ja doof, wenn immer alle abhängigen Module explizit in der IDE geöffnet sein müssen... |
AW: TDataModule cannot be found...
Nja, entweder du öffnest dessen Unit
und was sonst auch noch gut funktioniert, wenn man das Datenmodul in ein Designtimepackage packt und dort lädt (Create). "erstellte" Datenmodule und Forms registrieren sich eigentlich automatisch global, so dass eine Namensauflösung "eigentlich" gut funktioniert, und ansonsten muß das Datenmodul irgendwie bekannt sein, also manuell erstellt, oder im Designer geladen, oder z.B. über die Objektablage oder die Projektverwaltung gefunden und womöglich automatisch instanziiert (was nicht immer gut geht). Aber wenn man es dennoch manuell machen will (z.B. auch damit immer die richtige globale Instanz genommen wird und z.B. nicht die Forum im Form-Designer, falls die Unit grade geöffnet ist), dann
Delphi-Quellcode:
Dann im Register des Packages ein
// ODER class function TMyHelperClassOrDataModul.FindGlobalModules(const Name: string): TComponent; static;
function FindGlobalModules(const Name: string): TComponent; begin Result := nil; if SameText(Name, 'DM1') then Result := DM1; // die globale Instanz ... ![]() und im Finalization natürlich nicht das ![]() |
AW: TDataModule cannot be found...
Zitat:
|
AW: TDataModule cannot be found...
Zitat:
aber wohl nicht, dass es auch im Designer der Delphi-IDE passt. Zitat:
Aber ja, ein anderer/falscher Name, ging schon, womit es dann auch nicht mehr gefunden würde. |
AW: TDataModule cannot be found...
Zitat:
Was meinst Du mit "versehendlich die Name-property des DMs gelöscht"? |
AW: TDataModule cannot be found...
Passiert gern mal ... ausversehn einen Buchstaben gedrückt, während der Designer den Eingabefokus im Name-Property liegen hatte.
|
AW: TDataModule cannot be found...
Zitat:
|
AW: TDataModule cannot be found...
Leider habe ich solche Probleme auch sporadisch. Ich kann diese aber nicht zuverlässig reproduzieren, so dass ich sie auch nicht melden kann. Dabei habe ich Fehler dieser Art sowohl mit geöffnetem Datenmodul als auch ohne dass es geöffnet wurde.
Wenn es bei dir zuverlässig funktioniert, wenn das Datenmodul offen ist, würde ich die raten, die Speicherung des Projektdesktops in den Projektoptionen zu aktivieren und es dabei zu belassen. Wenn du es auch reproduzieren kannst, wenn du den kompletten (nicht veröffentlichbaren) Inhalt entfernst, wäre es natürlich super, weil du es dann zum Testen hier anhängen könntest. Wenn das auch andere reproduzieren können, sollte ein entsprechender Quality-Eintrag gut zu lösen sein und vielleicht dann auch die sporadischen Probleme bei anderen lösen. |
AW: TDataModule cannot be found...
Ich meine vor längerem gelesen zu haben, dass es ähnliche Probleme gibt, wenn man in einer Projektgruppe "zentrale" Module gemeinsam nutzt. Das Problem hatte irgendwas damit zu tun, dass die Ablage-Verzeichnisse der entsprechenden Units nicht richtig aufgelöst werden konnten.
Aber das ist aus der Erinnerung und ich kann keine Quelle dazu angeben. Ich kann daher damit auch völlig falsch liegen. :wink: |
AW: TDataModule cannot be found...
Zitat:
Danke für den Tip! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 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