我有一个非常有趣的问题。
背景
我已经使用 TTreeView 多年,但现在才将它与对接库(来自 AutomatedQA)一起使用。我了解到,当更改 TTreeView 的父级时,会重新创建所有句柄。这是对接库在正常活动期间所做的事情。
我一直在使用 TTreeNode 上的 Data 属性来保存一个对象。我还保留了到对象中 TreeNode 的链接。简而言之,使用 TreeNode,我可以获取对象,也可以从对象中获取 TreeNode。
只要树视图的父级从未更改(自动隐藏和显示窗口),我的应用程序就可以完美运行。
问题
我发现一旦父级发生更改,我附加到树节点的 Data 属性的对象现在包含对错误树节点或过时指针的引用。
我尝试了另一种方式“MyTreeViewContainer.Parent:=SomewhereElse”并观察到同样的问题。
用可能数百个对象重新加载树不会很有效。
我不知道我应该如何解决这个问题。长期以来,我一直能够加载树视图并让对象仍然能够轻松找到彼此。这真的可以打破我使用树视图的好“模式”......
感谢您的帮助!