考虑制作数组的旧技巧
Type
IntArray = Array Of Integer;
PIntArray = ^IntArray
PTDynIntArray = ^TDynIntArray;
TDynIntArray = Array[0..0] Of Integer;
{later...}
GetMem(APTDynIntArray,100*SizeOf(Integer));
APTDynIntArray^[49] := 50
有没有办法让这个棘手的数组与标准动态数组兼容?
例如,如果我想用
Procedure DoSomething(Data: PTDynIntArray);
并且考虑到数据将使用上述语法(括号中的 dataname-dereference-index)进行处理,如果我将PIntArray作为参数传递,Delphi 编译器将不会停止,但是我在运行时得到一个 AV(我猜 Delphi 认为, 在这种情况下, PIntArray与PTDynIntArray相同)
那么这两种类型(PIntArray 和 PTDynIntArray)可以组合、类型转换、互换吗?如何 ?