Einzelnen Beitrag anzeigen

iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#1

access violation in Menus.SetWindowHandle

  Alt 8. Dez 2017, 16:43
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!!!
  Mit Zitat antworten Zitat