Delphi TDateTime变量不会在Delphi 2010中初始化

Bil*_*ven 2 delphi tdatetime delphi-2010

我在Delphi 2010中创建了一个简单的表单,在我输入的按钮的代码中只有一个按钮:

procedure TForm1.Button1Click(Sender: TObject);
var
     myDateTime:TDateTime;
begin
     myDateTime:=now; // shows as 12/30/99 in debugger
end;
Run Code Online (Sandbox Code Playgroud)

当我在Delphi XE2中运行这个完全相同的代码时,我得到myDateTime值的当前日期/时间.

我想我必须在Delphi 2010项目环境中设置错误,但不能想到它可能是什么.

任何帮助将非常感激.

谢谢!

发现的问题,编译器设置是将代码生成优化设置为true,并且该值显然表示为TDateTime的默认值.当我将优化设置更改为false时,我可以看到该值.

Joh*_*ica 6

我认为你没有看到的原因myDateTime是它永远不会被使用.
因此,它是删除死代码的候选者.
显然删除的代码无法执行,您无法看到该值.

如果禁用优化,则(无用的)代码不会被删除,您可以看到var被填充.