![]() |
Was passiert vor "DataModuleCreate"
Hallo,
meine Apps sind folgendermaßen aufgebaut: Ich öffne eine MDI-Mainform, dann ein Datenmodul: Projekt - Quelltext:
Delphi-Quellcode:
Der Code von MainForm.FormCreate wird bis zu Ende korrekt durchlaufen.
begin
Application.Initialize; Application.Title := 'MID 7 for DAK'; Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TDMMID, DMMID); Application.CreateForm(TPasswordDlg, PasswordDlg); Application.Run; end. Ich nehme an, das jetzt DMMID.DataModuleCreate ausgeführt wird, allerdings komme ich dort nicht mehr an. Ich erhalte eine Windows Fehlermeldung "MID.exe hat einen Fehler verursacht und muß beendet werden" und Schluß ist. Der Fehler tritt auf meinem Entwicklungsrechner (Win XP Prof. SP1) und 12 anderen Rechnern mit XP und Win2000 nicht auf, nur auf einer Charge von neuen Rechnern (Win XP Prof. SP1). Die Frage ist für mich, was passiert vor DataModuleCreate ? Die uses Clauses des Daten moduls sieht folgendermaßen aus:
Delphi-Quellcode:
Ich habe diese Anordnung auch schon in einem neuen Projekt nach gestellt und da funktioniert es auch auf den neuen Rechnern.
uses
SysUtils, Classes, DB, ADODB, wwfltdlg, wwDialog, Wwlocate, Dialogs,Controls, BetterADODataSet,Graphics; . . . . implementation uses Address, Main, MSSQLLibary; Hat jemand eine Idee? Danke im Voraus und Grüße von Kai |
Re: Was passiert vor "DataModuleCreate"
Zitat:
Es muss eine Komponente dabei sein, die zu einem Ausnahmefehler führt. Fehlersuche: Also ein neues leeres Datenmodul erzeugen, dass vor deinem Problemfall erzeugt wird. Dann eine Komponente nach der anderen auf das neue Datenmodul kopieren und prüfen, ob's knallt. |
Re: Was passiert vor "DataModuleCreate"
Herzlich willkommen in der Delphi-PRAXiS, Kai.
Wenn du dafür sorgst, dass dein Datenmodul weitgehend von den anderen Modulen entkoppelt ist, dann kannst du das Datenmodul ruhig vor dem MainForm erzeugen. Ich mache das grundsätzlich, da es sich ja um eine Anwendungs-Resource handelt. Noch davor frage ich Login-Informationen ab, wenn ich sie brauche. Schau doch mal in dein Datenmodul, ob du vielleicht in der initialization section Code hast, der da besser nicht wäre. Der Ausführungszeitpunkt für diese section wird durch die Reihenfolge der Units in den Uses-Abschnitten bestimmt, nicht über die Reihenfolge von CreateForm(). Ich habe zur Kenntnis genommen, dass du den Fehler nicht auf jeder Maschine produzierst, aber dazu direkt fällt mir nun nichts ein. Freundliche Grüße vom marabu |
Re: Was passiert vor "DataModuleCreate"
@ KaiO : Editiere doch bitte Deinen ersten Beitrag und setze die [delphi] - Tags um Deinen Quellcode, damit dieser schöner dargestellt wird :)
...:cat:... |
Re: Was passiert vor "DataModuleCreate"
Hi,
poste mal besser die uses Liste der MainForm. Könnte fast wetten, daß darin ein Datenbank-Zugriff erfolgen soll. Da steht bestimmt mit drin Uses ...DB, ADODB,.. in der Richtung was. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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