Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
801 Beiträge
 
Delphi 11 Alexandria
 
#1

Exception in IsFormSizeStored

  Alt 13. Apr 2021, 11:13
Ich habe dieses Exception Log (Aufrufreihenfolge von unten nach oben) von einem Anwender:

exception class : EAccessViolation
exception message : Zugriffsverletzung bei Adresse 006DA5BF in Modul 'MeinProgramm.exe'. Lesen von Adresse 00000010.

Code:
006da5bf +00f MeinProgramm.exe Vcl.Forms               TCustomForm.IsFormSizeStored
006da5a5 +005 MeinProgramm.exe Vcl.Forms               TCustomForm.IsClientSizeStored
006dce58 +5a4 MeinProgramm.exe Vcl.Forms               TCustomForm.CreateParams
005d4700 +034 MeinProgramm.exe Vcl.Controls            TWinControl.CreateWnd
006d88f1 +005 MeinProgramm.exe Vcl.Forms               TScrollingWinControl.CreateWnd
006dced2 +00a MeinProgramm.exe Vcl.Forms               TCustomForm.CreateWnd
006e33e0 +024 MeinProgramm.exe Vcl.Forms               TApplication.ModalFinished
006e0062 +326 MeinProgramm.exe Vcl.Forms               TCustomForm.ShowModal
005d4d12 +016 MeinProgramm.exe Vcl.Controls            TWinControl.CreateHandle
005d8d90 +01c MeinProgramm.exe Vcl.Controls            TWinControl.HandleNeeded
005d8d9d +005 MeinProgramm.exe Vcl.Controls            TWinControl.GetHandle
006dfd2e +00e MeinProgramm.exe Vcl.Forms               TCustomForm.Release <--- hier !!!!
01992e72 +0b6 MeinProgramm.exe Main          4814      TMainDlg.ShowAbrechnungDlg
01989cbb +003 MeinProgramm.exe Main          2385      TMainDlg.acAbrechnungExecute

disassembling:
[...]
01992e62        pop    ecx
01992e63        mov    fs:[eax], edx
01992e66        push   $1992e7f
01992e6b 4814   mov    eax, [$1a3f2e4]
01992e70        mov    eax, [eax]
01992e72      > call   -$12b3157 ($6dfd20)   ; Vcl.Forms.TCustomForm.Release
01992e77        ret
01992e78        jmp    -$15880ad ($40add0)   ; System.@HandleFinally
01992e7d       jmp    loc_1992e6b
01992e7f 4820   xor    eax, eax
01992e81        pop    edx
[...]
Code:
procedure TMainDlg.ShowAbrechnungDlg;
begin
    Application.CreateForm(TAbrechnungDlg, AbrechnungDlg);
    try
      AbrechnungDlg.ShowModal;
    finally
      AbrechnungDlg.Release; <--- hier !!!!
    end;
end;

Wer kann helfen. Es sagt mir überhaupt nichts. Es scheint so, als ob eine Action (acAbrechnungExecute) ausgeführt wurde, die ein Fenster anzeigt (AbrechnungDlg). Nach dem Schleißen wird das Release (mit "hier" markiert) ausgeführt und ruft wieder ein ShowModal auf??? Das passiert direkt im VCL-Code. Nicht in meinem Code. Meine Unit ist nur die "Main".

Das Problem ist in mehr als 10 Jahren noch nie bei einem anderen Anwender aufgetreten und trat bei diesem Anwender bisher auch nicht wieder auf. Weitere Infos gibt es leider nicht.

Geändert von BlueStarHH (13. Apr 2021 um 11:19 Uhr)
  Mit Zitat antworten Zitat