Re: TreeView - AddObject Pointerproblem
8. Mai 2007, 18:09
tmp ist eine lokale Variable. Durch dein Add bekommst du ein TAnswer zurück und weißt es tmp zu. Den Zeiger auf Tmp weißt du dann data zu (durch AddObject). Und genau da ist der Fehler!
Letzendlich weißt du einen Pointer auf den Stack zu. Nach verlassen der procedure wird tmp vom stack entfernt und dein Pointer zeigt auf eine Stelle im Stack wo nichts mehr liegt bzw. inzwischen was anderes.
Letztendlich machst du es dir einfach zu schwer. TAnswer ist eine ObjectInstanz und somit ein Pointer! Du brauchst also nicht den Pointer auf den Pointer zuweisen sondern kannst auch direkt die Objectinstanz auf Data zuweisen. Dementsprechend brauchst du dann auch nicht auf PAnswer casten und zu dereferenzieren sondern kannst gleich auf TAnswer casten.
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|