Einzelnen Beitrag anzeigen

ECHTERNMM

Registriert seit: 29. Sep 2004
Ort: Jena
5 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Exception in IsFormSizeStored

  Alt 27. Feb 2024, 10:59
Hallo,

gibt es dazu irgendwelche neuen Erkenntnisse?

Wir verwenden immer schon free (nicht release), haben aber gelegentlich genau den gleichen Fehler.

Ich verwende eine Komponente, die von TCustomElComboBox abgeleitet ist: TMyComboBox; die ist eins der Controls der Form, die ich freigeben will. Ich habe den Destructor dieser Komponente "übernommen" (overload) und darin nichts anderes als

try
inheritted;
except
//meldung in Log-Datei schreiben
end;

eingebaut, aber, wie man sieht, wird der Destructor zwar ausgeführt, aber die Exception entsteht gar nicht in dieser Routine, obwohl der Stackdump (von Madexcept) das suggeriert.

Vielmehr schein Windows zu meinen, hier irgendwie eingreifen zu müssen:

7751507b +04b ntdll.dll KiUserCallbackDispatcher

was ist das und wo kommt das her?

Und vor allem: wie kann man das verhindern?


Man sollte noch wissen, dass diese Exception nicht reproduzierbar entsteht, sondern scheinbar zufällig ungefähr in 20 von 100 Fällen.

Gruß
MM



006cc0ef +00f My_Prog.exe Vcl.Forms TCustomForm.IsFormSizeStored
006cc0d5 +005 My_Prog.exe Vcl.Forms TCustomForm.IsClientSizeStored
006ce988 +5a4 My_Prog.exe Vcl.Forms TCustomForm.CreateParams
005c7550 +034 My_Prog.exe Vcl.Controls TWinControl.CreateWnd
006ca421 +005 My_Prog.exe Vcl.Forms TScrollingWinControl.CreateWnd
006cea02 +00a My_Prog.exe Vcl.Forms TCustomForm.CreateWnd
005c7b62 +016 My_Prog.exe Vcl.Controls TWinControl.CreateHandle
005cbbe0 +01c My_Prog.exe Vcl.Controls TWinControl.HandleNeeded
005cbbed +005 My_Prog.exe Vcl.Controls TWinControl.GetHandle
006cf205 +0f1 My_Prog.exe Vcl.Forms TCustomForm.SetFocusedControl
005c872f +21f My_Prog.exe Vcl.Controls TWinControl.WndProc
006ccc61 +64d My_Prog.exe Vcl.Forms TCustomForm.WndProc
00bae796 +05e My_Prog.exe Main 945 +14 TWomiTota.WndProc
005c8118 +02c My_Prog.exe Vcl.Controls TWinControl.MainWndProc
00543edc +014 My_Prog.exe System.Classes StdWndProc
0040f6b0 +20c My_Prog.exe System 168 +0 DynArraySetLength
7751507b +04b ntdll.dll KiUserCallbackDispatcher
005c3f66 +2be My_Prog.exe Vcl.Controls TControl.WndProc
005c8b4b +63b My_Prog.exe Vcl.Controls TWinControl.WndProc
006ccc61 +64d My_Prog.exe Vcl.Forms TCustomForm.WndProc
00bae796 +05e My_Prog.exe Main 945 +14 TWomiTota.WndProc
005c8118 +02c My_Prog.exe Vcl.Controls TWinControl.MainWndProc
00543edc +014 My_Prog.exe System.Classes StdWndProc
7751507b +04b ntdll.dll KiUserCallbackDispatcher
0040a8c4 +008 My_Prog.exe System 168 +0 TObject.Free
00460ee0 +008 My_Prog.exe System.SysUtils FreeAndNil
00820ea3 +01b My_Prog.exe ElSBCtrl 3377 +2 TElSBHandlerCustom.DestroyScrollTimer
00820e63 +07f My_Prog.exe ElSBCtrl 3370 +9 TElSBHandlerCustom.Destroy
0040a8c4 +008 My_Prog.exe System 168 +0 TObject.Free
00460ee0 +008 My_Prog.exe System.SysUtils FreeAndNil
0082249b +017 My_Prog.exe ElSBCtrl 4165 +1 TElSBController.Destroy
0040a8c4 +008 My_Prog.exe System 168 +0 TObject.Free
00541bec +074 My_Prog.exe System.Classes TComponent.DestroyComponents
0054168b +01b My_Prog.exe System.Classes TComponent.Destroy
005c12d9 +121 My_Prog.exe Vcl.Controls TControl.Destroy
005c5dbf +16b My_Prog.exe Vcl.Controls TWinControl.Destroy
005cee90 +01c My_Prog.exe Vcl.Controls TCustomControl.Destroy
007d3544 +034 My_Prog.exe ElXPThemedControl 439 +3 TElXPThemedControl.Destroy
00842a1f +037 My_Prog.exe ElListBox 789 +4 TCustomElListBox.Destroy
0040a8c4 +008 My_Prog.exe System 168 +0 TObject.Free
00857ede +01a My_Prog.exe ElCombos 1626 +1 TCustomElComboBox.Destroy
00b3c80a +06a My_Prog.exe eboxen 2488 +10 TMyComboBox.Destroy

Geändert von ECHTERNMM (27. Feb 2024 um 11:11 Uhr)
  Mit Zitat antworten Zitat