В VirtualTreeview я храню свои данные в PVirtualNodes . Я столкнулся с несколькими нарушениями прав доступа (как правило, с "Чтение адреса 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? И возможно ли, что не сделав этого, я могу спровоцировать нарушение доступа?