AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenmodul macht zicken
Thema durchsuchen
Ansicht
Themen-Optionen

Datenmodul macht zicken

Ein Thema von Delbor · begonnen am 30. Okt 2017 · letzter Beitrag vom 30. Okt 2017
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Datenmodul macht zicken

  Alt 30. Okt 2017, 14:42
Datenbank: SQLite • Version: 3 • Zugriff über: FireDac
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:
  • Ich starte das Programm, das in der OnCreate der mainform bei einem Haltepunkt gleich wieder stoppt.
  • Ich steppe mit F8 weiter bis zum Createaufruf des Datenmoduls und gelange von da mit F7 erstmal in den Constructor des DML.
  • In der zeile "if not InitInheritedComponent(Self, TDataModule) then" ist fertig lustig, das Programm bricht mit der unten stehenden Fehlermeldung ab:
Zitat:
---------------------------
Im Projekt ContentMasterDXE8.exe ist eine Exception der Klasse EReadError mit der Meldung 'Ungültiger Eigenschaftswert' aufgetreten.
---------------------------
Da es nicht das erste mal ist, dass ich Probleme mit einem Datenmodul habe, habe ich erstmal das getan, was ich damls getan habe: ich habe ein neues Datenmodul angelegt.
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
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datenmodul macht zicken

  Alt 30. Okt 2017, 14:54
Wo wird denn dieses Datenmodul erzeugt? In der Projektdatei? Oder zur Laufzeit eines anderen Formulars?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Datenmodul macht zicken

  Alt 30. Okt 2017, 15:02
Hi Sherlock

Im OnCreate der Mainform.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Datenmodul macht zicken

  Alt 30. Okt 2017, 15:27
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)
Gruß, Jo
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Datenmodul macht zicken

  Alt 30. Okt 2017, 16:27
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:
    if (ClassType <> TDataModule) and not (csDesigning in ComponentState) then
    begin
      if not InitInheritedComponent(Self, TDataModule) then
Was nichts anderes heisst, als dass mein Datenmodul gar keines ist, obwohl es optisch und im OI als genau ein solches daherkommt.

Da bleibt mir offensichtlich nur übrig, das Ding neu zu erstellen.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Datenmodul macht zicken

  Alt 30. Okt 2017, 16:50
Da bleibt mir offensichtlich nur übrig, das Ding neu zu erstellen.
Da würde ich immer zu raten.
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 05:04 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