Einzelnen Beitrag anzeigen

Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
216 Beiträge
 
Delphi 10.4 Sydney
 
#1

Windows Programm Login Fenster

  Alt 28. Sep 2020, 09:39
Hallo,

es geht bei meiner Frage darum das ich immer wieder mit Bug Reports von Madshi zu tun habe die ich nicht verstehe. Wenn ich so ein Bug Report lese dann sehe ich welche Units nach einander abgearbeitet wurden bis es gekracht hat. In den mysteriösen Bug Reports tauchen aber nur System Units auf und keine von meinen. Jetzt habe ich einen Verdacht. Es hat was mit dem Start Verhalten zu tun. Mein Programm hat in dem Create Bereich der Main Form ein Login Fenster und nach erfolgreichem Login ein Lade Fenster (Variablen werden mit Werten aus DB gefüllt). Wenn alles erfolgreich war kommt erst Application.Run und die Main Form wird angezeigt.

Würdet ihr den Aufbau auch so gestalten? Könnte es sein das Madshi erst ab Application.Run vernünftige Bug Reports erstellen kann?

Beispiel für ein Bug Report:

exception message : Argument außerhalb des Bereichs.

main thread ($16bc):
004eb2f6 +00e Test1.Exe System.Classes TCollection.GetItem
007bcd72 +012 Test1.Exe adsdata 1697 +1 TACEFieldDefs.GetItem
007c1b17 +0ff Test1.Exe adsdata 5019 +21 TAdsDataSet.ReadTranslatedRecord
007c1ecd +119 Test1.Exe adsdata 5175 +52 TAdsDataSet.GetCurTranslatedRecord
007c7323 +0e7 Test1.Exe adsdata 8605 +37 TAdsDataSet.InternalCancel
007884fa +062 Test1.Exe Data.DB TDataSet.SetCurrentRecord
007892ae +072 Test1.Exe Data.DB TDataSet.Cancel
007ca8ae +00a Test1.Exe adsdata 11209 +5 TAdsDataSet.Cancel
00785a2d +0ad Test1.Exe Data.DB TDataSet.SetActive
00785828 +004 Test1.Exe Data.DB TDataSet.Close
007850aa +01a Test1.Exe Data.DB TDataSet.Destroy
007be0fb +093 Test1.Exe adsdata 2733 +22 TAdsDataSet.Destroy
007d5b22 +01a Test1.Exe adstable 2292 +5 TAdsTable.Destroy
00409ebc +008 Test1.Exe System 44 +0 TObject.Free
00502116 +076 Test1.Exe System.Classes TComponent.DestroyComponents
00501baf +01b Test1.Exe System.Classes TComponent.Destroy
00503fa6 +066 Test1.Exe System.Classes TDataModule.Destroy
00409ebc +008 Test1.Exe System 44 +0 TObject.Free
00502116 +076 Test1.Exe System.Classes TComponent.DestroyComponents
00721e51 +035 Test1.Exe Vcl.Forms DoneApplication
0045a329 +021 Test1.Exe System.SysUtils DoExitProc
0040bbb2 +06e Test1.Exe System 44 +0 @Halt0
02f5c36e +08e Test1.Exe Test1 504 +12 initialization
77566357 +017 KERNEL32.DLL


Teil aus den Quelltext:

Delphi-Quellcode:
begin
  Application.Initialize;
  // --
  // --
  // --
  Application.MainFormOnTaskbar := True;
  TStyleManager.TrySetStyle('Windows10 Office Light');
  Application.HelpFile := 'Test1.chm';
  Application.Title := 'Test1 ADS';
  Application.CreateForm(TMainForm, MainForm);
  If Not StartAbbruch Then
    Application.Run;
end.
  Mit Zitat antworten Zitat