Einzelnen Beitrag anzeigen

backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
333 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Speicherzugriffsfehler bei Freigabe vom Frame

  Alt 27. Apr 2007, 11:55
Die Funktion die den Fehler verursacht habe ich gefunden:

Diese wird aber nicht beim Zerstören des Objekts aufgerufen, sondern beim Berechnen der Spaltenbreite

DrawText(Canvas.Handle, PChar(S), Length(S), R, DT_NOPREFIX or AL or DT_CALCRECT); Der Fehler tritt nämlich nur dann auf, wenn die Größe der Spalten berechnet werden muss.
Die Funktion wird insgesamt 3 mal aufgerufen, pro Spalte wobei 3 verschiedene Canvas.Handles benutzt werden.
Deaktiviere ich diese Funktion geht alles...

Vielleicht weiss jemand was an dieser Stelle passiert, das das Programm viel später rausfliegt, wenn ich das ElTree zerstöre.
Falsches Window-Handle, oder was auch immer!?!

Oliver

Hab nochwas entdeckt.
Wenn ich den DrawText deaktiviere und nur x := Canvas.Handle oder ein "IF Canvas.Handle > 0 THEN" mache, stützt er auch ab. Canvas ist aber nicht NIL.
Oliver
  Mit Zitat antworten Zitat