4

(デバッグとロギングのために) オブジェクトのサイズをバイト単位で知りたいのですが、好きではありません

Sizeof (Object)

しかし、「深いサイズ」のように。たとえば、オブジェクトにハッシュ マップまたはリストが含まれている場合、そのハッシュ マップまたはリストに必要な実際のサイズを結果に追加する必要があります。追加せずにこれを行う方法はありますか

property Size : LongWord read GetByteSize;

あらゆる小さなオブジェクトに?

ばかげた質問かもしれませんが、試してみます;)

編集:ほぼ同じ質問が見つかりました:

Delphi での再帰クラス インスタンスのサイズ

私は、質問を閉じることができると思います。ごめんなさい!

4

2 に答える 2

2

残念ながら、このためのコードを自分で作成する必要があります。

これが機能するかどうかはわかりませんが、非常に汚れる可能性があります。

  • オブジェクトサイズをバイト単位で検索します。TObject.InstanceSizeを使用します。
  • 4バイトの各グループをポインターにキャストしてから、それがTObjectであるかどうかを確認します。あなたはそれをすることができるはずです。TObjectの場合は、この手順を繰り返す必要があります。
于 2009-04-06T12:57:36.110 に答える