在 VirtualTreeview 中,我将数据存储在PVirtualNodes中。我在我的应用程序中经历了几次访问冲突(通常是"Read of adress 00000000"),它们大多(我实际上敢说总是)发生在我对节点数据做某事时。
然而,问题是,我声明我的东西并像这样使用它:
// DUMMY CODE - Not written or tested in IDE
var
MyNode : PVirtualNode;
MyData : PMyNodeData;
Begin
MyNode := VST.GetFirstSelected;
if Assigned(MyNode) then
Begin
MyData := VST.GetNodeData(MyNode);
if Assigned(MyData) then
Begin
MyData.DummyProperty := 'Test';
End;
End;
End;
您可能已经注意到,我不会通过执行MyData^来“取消引用”(正确的?)我的“MyData”!我不这样做的原因是有人告诉我没有必要将插入符号添加到指针名称中,但是我感觉它与它有关。如果我知道,我不会在这里发帖。;)
所以我的问题是:最终是否有必要将一点点添加^
到 MyData 中?如果不这样做,我是否有可能引发访问冲突?