監視は、既存の変数を監視するためにのみ機能します。AFAICT、実行時にウォッチ ウィンドウに追加する新しい変数を作成することはできません。
(また、TDateTime
他の人があなたの質問へのコメントで指摘しているように、Delphiのオブジェクトではありません。double
値の整数部分に日付をエンコードし、小数(10進数)部分に時間をエンコードするだけです。TDateTime
インスタンスを作成できません。)
「DateToStr(0)」のような式を評価するには、評価/変更ウィンドウ (デバッガーがブレークポイントにあるときに、View->Debug Windows->Evaluate/Modify
または右クリック メニュー、Run->Evaluate/Modify
、またはを使用して使用できます) を使用できます。Ctrl+F7変数を監視する唯一の方法は、実際にコードで変数を宣言 (および使用) してから、その変数に監視を設定することです。コンパイラは未使用の変数を最適化するため、単に宣言するだけでは十分ではありません。また、評価している関数は、コード自体のどこかで実際に使用する必要があります。そうしないと、使用できなくなります。(リンカーは、ほとんどの場合実際には呼び出されない関数を実行可能ファイルに含めません。)
デバッグ時にのみ変数を使用可能にしたいが、リリース コードでは使用できないようにする場合は、それを{$IFDEF DEBUG}
(デバッグ ビルド構成で自動的に事前定義されている) で囲むことができます。
procedure TForm1.FormCreate(Sender: TObject);
{$IFDEF DEBUG}
var
CurrDate: TDateTime;
{$ENDIF}
begin
{$IFDEF DEBUG}
CurrDate := Date;
// Use CurrDate so the compiler doesn't eliminate it.
{$ENDIF}
// Your other code here as usual
end;