Also ich hab jetzt soviel rausgefunden, das nach dem öffnen des Baums die Items neu geladen werden.
Dadurch passierts, dass sich die Speicheradressen ändern, weil doppelte rausfliegen und sich der Baum sortiert.
Delphi-Quellcode:
Procedure AddNewObjekt(NewObjektname : String);
Var
NewNode : TdxTreelistNode;
begin
NewNode := AddMissingObjects (NewObjektname);
newNode.Parent.Collapse(True);
newNode.Parent.Expand(True); // Hier entsteht der Fehler
// newNode.Data = nil / newNode.Index = -1
If (NewNode <> Nil) Then
Begin
newNode.Focused := True;
End;
End;
Parent ist aufjedenfall da, weil in AddMissingObject ein Parent angelegt wird, falls keiner da ist.
@stahli
Zitat:
Zu Deiner Komponente kann ich nichts sagen, nur eine grundsätzliche Überlegung.
Wenn Du einen Breakpoint setzt und schrittweise debugst, wird sich Dein Formular teilw. neu zeichnen.
Evtl. macht das den Unterschied.
könnt nartürlich ein Grund sein