Hallo,
ich kämpfe gerade mit einer
Access Violation, die beim Schließen meines Programmes erst nach Ablauf von OnClose und OnDestroy auftritt.
Mit den Debug-DCUs habe ich festgestellt, dass das in Menus.pas passiert und zwar in SetWindowHandle:
Delphi-Quellcode:
procedure TMenu.SetWindowHandle(Value: HWND);
begin
FWindowHandle := Value;
UpdateImage;
{ When menus are created, if BiDiMode does not follow the parent,
main menu headers are displayed in reversed order. Changing BiDiMode
twice fixes this. }
if (SysLocale.MiddleEast) and (Value <> 0) then
if FParentBiDiMode then
ParentBiDiModeChanged
else
AdjustBiDiBehavior;
end;
Irgendwann ist FWindowHandle nicht mehr verfügbar und dann kracht es in der ersten Zeile bei der Zuweisung von value, vermutlich wenn das Hauptmodul aus dem Speicher geworfen wird!?!
Was macht diese Routine denn beim Schließen der Applikation überhaupt? Die wird nach OnDestroy noch mehrfach vor dem Crash aufgerufen.
Wie könnte ich zurückverfolgen, wer der ursprüngliche Übeltäter ist?
Bin für jeden Tipp dankbar, da ich mit meinem Latein am Ende bin!!!