![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: FireDac
Datenmodul macht zicken
Hi zusammen
Ich bin dabei, meine Anwendung von MySQL auf SQLite umzustellen. Dazu hab ich mir ein neues Datenmodul angelegt. Nun musste ich feststellen, dass die Prozedur Create dieses Moduls gar nicht aufgerufen wird. Erstmal schien alles klar: im Objektinspektor war unter Ereignisse=>OnCreate gar keine Prozedur angegebn. und so habe ich das nachgeholt. Und nun geschieht folgendes:
Zitat:
Das Modul, das damals Probleme bereitete, hatte ich angelegt, indem ich ein bestehendes unter anderem Namen abspeicherte - das scheint bei Datenmodulen ein NoGo zu sein. Deshalb war meine erste Reaktion mal, sofort ein neues Datenmodul anzulegen. Ob ich - wider besseres Wissen - das Modul so wie damals angelegt habe, weiss ich allerdings nicht mehr. Nur der Fehler scheint darauf hin zu deuten. Nun kam ich auf die Idee, die dcu mal zu löschen. Andrerseits habe ich mir die dfm angesehen, und die führt nur die auf dem Modul vorhandenen Komponenten auf. Vorausgesetzt, die dcu ist lediglich die kompilierte dfm, wird das gar nichts bringen. An was kann der Fehler liegen? Gruss Delbor |
AW: Datenmodul macht zicken
Wo wird denn dieses Datenmodul erzeugt? In der Projektdatei? Oder zur Laufzeit eines anderen Formulars?
Sherlock |
AW: Datenmodul macht zicken
Hi Sherlock
Im OnCreate der Mainform. Gruss Delbor |
AW: Datenmodul macht zicken
Hab mit solchen Sachen schon lange nichts mehr gemacht.
Die bloßen Komponenten haben sich sicher nicht geändert, aber ein DFM ist ja nichts anderes als eine Textliste mit Klassen bzw ObjektInstanzen und zugehörigen Attributen. Jenachdem wie man damit umgeht (copy, Text editieren..), stehen am Ende ein paar zuviel Attribute da drin, besonders gern wenn man irgendwo einen Typ ändert, der andere Attribute besitzt (mysql > sqlite). Also mal das Modul auskoppeln (Unit aus uses entfernen), voll durchkompilieren (so weit es geht), Modul einbinden, ein (harmloses) Attribut ändern, voll durchkompilieren, Attribut korrigieren, wieder vollständig kompilieren. Könnte dann besser aussehen. Das Entfernen oder umbenennen der DCU zwingt den Compiler natürlich auch, neu zu kompilieren (zumindest das fehlende Modul) |
AW: Datenmodul macht zicken
Hi jobo
Ich hab das also mal ausgekoppelt - kompiliert hervorragend.Sogar einer meiner kleinen Tests tat, was er sollte. Nicht ganz klar war mir, ob Fileexists auch auf Ordner reagiert. Ein Showmessage sagt ja... Da die gepostete Zeile aus System.pas stammt, war ich sehr zurüchaltend mit dem widergeben dieser Zeilen und postete gerade mal die eine. Das war offensichtlich falsch. Denn das ganze Schnipsel lautet:
Delphi-Quellcode:
Was nichts anderes heisst, als dass mein Datenmodul gar keines ist, obwohl es optisch und im OI als genau ein solches daherkommt.
if (ClassType <> TDataModule) and not (csDesigning in ComponentState) then
begin if not InitInheritedComponent(Self, TDataModule) then Da bleibt mir offensichtlich nur übrig, das Ding neu zu erstellen. Gruss Delbor |
AW: Datenmodul macht zicken
Zitat:
Aus unerfindlichen Gründen kann man ein DatenModul nicht so einfach modifizieren. Ich hab auch schon mal einen halben Tag damit verbracht, eine klitzekleine Modifikation unter zu bringen. Seitdem mach ich es grundsätzlich immer neu wenn sich an den Komponenten etwas ändert. Da ich die meisten Sourcen eh mit c&p durch die Gegend schieben kann hält der Aufwand sich in Grenzen. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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-2025 by Thomas Breitkreuz