VirtualTreeviewでは、データをPVirtualNodesに保存しています。私は自分のアプリでいくつかのアクセス違反(通常は「Readof adress 00000000」 )を経験しましたが、ノードデータで何かをしているときにほとんど(実際には「Always」と言ってもいいでしょう)発生します。
ただし、問題は、自分のものを宣言して、次のように使用することです。
// 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に少し追加する必要がありますか?そして、それを行わないことで、アクセス違反を引き起こす可能性はありますか?