配列を作成する古いトリックを考える
Type
IntArray = Array Of Integer;
PIntArray = ^IntArray
PTDynIntArray = ^TDynIntArray;
TDynIntArray = Array[0..0] Of Integer;
{later...}
GetMem(APTDynIntArray,100*SizeOf(Integer));
APTDynIntArray^[49] := 50
このトリッキーな配列を標準の動的配列と互換性を持たせる方法はありますか?
たとえば、古い (1999 年からとしましょう) 単位を翻訳したい場合は、
Procedure DoSomething(Data: PTDynIntArray);
また、データが上記の構文 (括弧内の dataname-dereference-index) を使用して処理されることを考慮すると、引数としてPIntArrayを渡しても Delphi コンパイラは停止しませんが、実行時に AV を取得します (Delphi が考慮していると思います)。 、この場合、そのPIntArrayはPTDynIntArrayと同じです)
では、これら 2 つの型 (PIntArray と PTDynIntArray) を組み合わせたり、型をキャストしたり、交換したりできますか? どのように ?