異なるデータタイプのためのRTTIを含むTTypeDataフィールドは、動的配列のための3つの異なる要素タイプの値を有する:ダイナミック配列のTypeDataのさまざまな要素タイプのエントリは何をしますか?
elType: PPTypeInfo; // nil if type does not require cleanup
elType2: PPTypeInfo; // independent of cleanup
DynArrElType: PPTypeInfo; // actual element type, even if dynamic array
elType
の目的は非常に明確である:それはゼロをRTLにFinalizeArray
によって使用され、残っていますファイナライズするものがなければ。しかし、我々は他の2つの要素、elType2
とDynArrElType
を持っています。誰に2つの理由があるのか、その2つの違いは何かを知っていますか?
'DynArrElType:PPTypeInfo;'フィールドはDelphi XEとXE2でコメントされ、Delphi 7 - 2007のような古いバージョンでは表示されません。どのデルファイのバージョンを使用していますか? – RRUZ
TypInfo.pasは、レコード定義で静的に宣言できない可変長データを記述するためにコメントを使用します。新しいバージョンではコメントされていて、古いバージョンではコメントされていないという事実は、新しいバージョンでは新しいデータが存在することを意味します。 –
@ RemyLebeau-TeamBはそれを知っているのは良いですが、メイソンの質問では、このフィールドはコメントされていないので、混乱を招く可能性があります。 – RRUZ