![]() |
Datenmodul wird nicht erstellt
Moin,
ich habe hier ein merkwürdiges Verhalten beim Compilieren, für das ich zwar einen Workaround habe, aber der Sache trotzdem auf den Grund gehen möchte. In der *.dpr:
Delphi-Quellcode:
Im Login-Dialog wird zur Anmeldung dann auf das Datenmodul zugegriffen:
begin
Application.Initialize; {$IFDEF debug} ReportMemoryLeaksOnShutdown := True; {$ENDIF} Application.MainFormOnTaskbar := True; Application.Title := 'xyz'; TStyleManager.TrySetStyle('Aqua Light Slate'); Application.CreateForm(TDM, DM); if TDialogLogin.login then Application.CreateForm(TfrmMain, frmMain); Application.Run; end.
Delphi-Quellcode:
und das geht plötzlich schief, wenn der User die AnmeldeAction ausführt:
userid := TSQLTool.GetInteger(DM.conXYZ, 'user', 'iduser',
'short=' + QuotedStr(EditKuerzel.Text) + ' AND ' + 'BINARY password=' + QuotedStr(EditPassword.Text));
Das liegt jetzt daran, dass das Datenmodul (DM) NIL ist. Warum ist das plötzlich so? Die DPR und der Login sind seit Monaten so am laufen, und haben nie Zicken gemacht. Ich starte das Programm ja mehrmals täglich, und arbeite an der Programmlogik, die mit der Anmeldung überhaupt nix zu tun hat. Mein Workaround besteht darin, das CreateForm für das Datenmodul in die Login-Unit zu verlagern:
Delphi-Quellcode:
Aber das kann's doch nicht sein, oder? Warum also wird in der DPR plötzlich das Datenmodul vom Delphi 10.2 prof. scheinbar beim Compilieren übersprungen? Vielleicht hat ja jemand 'ne Idee.
Initialization
if not assigned(DM) then Application.CreateForm(TDM, DM); end. TIA, Poelser |
AW: Datenmodul wird nicht erstellt
Zitat:
|
AW: Datenmodul wird nicht erstellt
Moin Uwe,
ja, ich kann mit F7 hineinsteppen. Und dort wird eine Instance mit dem Namen "DM" erstellt, also eigentlich alles gut. |
AW: Datenmodul wird nicht erstellt
und was passiert anschließend nach dem Erstellen? d.h. zumindest einen Brakepoint in das OnDestroy des DM setzen und ggf. auch mal DM in die überwachten Variablen ziehen und dort ggf. die Option "Bei Änderungen anhalten" - vielleicht siehst Du dann wenn jemand daran unberechtigt rum schreibt...
|
AW: Datenmodul wird nicht erstellt
Ist denn auch sichergestellt, daß DM immer dieselbe Variable meint?
|
AW: Datenmodul wird nicht erstellt [gelöst]
Zitat:
Delphi-Quellcode:
deklariert habe. Dort findet zwar kein direkter Zugriff auf das Datenmodul statt, und im Login auch nicht auf dieses Formular, aber die Objekte, die im Programm so benutzt werden, nutzen das Datenmodul...
var
DM: TDialogMeal; Tja, mit DME: TDialogMeal; ist dann plötzlich alles OK. Vielen Dank für die Denkanstöße! Poelser |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 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