3

Delphi デバッガで式を検査または監視するたびに、値「()」が表示され続けます。

どういう意味ですか ?そして、それが何らかのオブジェクトを表している場合、そのオブジェクトの状態をどのように視覚化できますか?

4

1 に答える 1

4

配列とオブジェクトのどちらを見ているかによって、2 つの異なる意味になります。

配列の場合、0 要素を含む配列 (通常は動的配列) があることを意味します。

オブジェクトの場合は、もう少し複雑です。これは、データ メンバーを含まない型として宣言されたオブジェクトを調べていることを意味します。TObjectコードでas として宣言されている変数(Sender: TObjectイベント ハンドラーの a など) を見ている場合、実際の型はほぼ間違いなくTObjectではありませんが、デバッガーはそれを宣言されている型として評価します。

オブジェクトに関する実際のデータを取得するには、次のようにします。

  • Evaluate/Modify (Ctrl-F7) をプルアップします。
  • オブジェクトの実タイプを評価します。( Sender.classtype)
  • オブジェクトを評価し、実際の型にキャストします。( TMyObject(Sender))。これにより、オブジェクトに実際に何が含まれているかがわかります。
于 2013-09-30T14:58:53.083 に答える