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.