Delphi-Quellcode:
TNodeData = record
str: string;
bool: Boolean;
end;
PNodeData = ^TNodeData;
NodeData: array of PNodeData;
Dann bekomme ich bei
Result := PNodeData(node.Data)^.str;
oder
Result := TNodeData(node.Data^).str;
keine Zugriffsverletzung mehr, dafür bekomme ich aber immer nur NodeData[0].str zurück, auch wenn der Node ein völlig anderer Index al 0 zugewiesen wurde.