手表只能观察现有的变量;AFAICT,您无法在运行时创建新变量以添加到监视窗口。
(另外,TDateTime
不是 Delphi 中的对象,正如其他人在对您的问题的评论中所指出的那样。它只是double
将日期编码为值的整数部分,并将时间编码为小数(小数)部分,哦,你无法创建TDateTime
实例。)
您可以使用评估/修改窗口(当调试器通过View->Debug Windows->Evaluate/Modify
或右键单击菜单、Run->Evaluate/Modify
或处于断点时可用Ctrl+F7)来评估像“DateToStr(0)”这样的表达式。监视变量的唯一方法是在代码中实际声明(并使用)该变量,然后对该变量设置监视;仅仅声明它是不够的,因为编译器会优化掉未使用的变量。此外,您正在评估的函数必须在代码本身的某个地方实际使用,否则它将不可用。(链接器不包含在大多数情况下实际未调用的可执行文件中的函数。)
如果您只希望该变量在调试时可用,而不是在您的发布代码中,您可以用{$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;