Переменная 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;

Когда я запускаю точно такой же код в Delphi XE2, я получаю текущую дату / время в значении myDateTime.

Я думаю, что у меня должно быть что-то неправильно установлено в среде проекта Delphi 2010, но я не могу думать о том, что это может быть.

Любая помощь приветствуется.

Спасибо!

Обнаруженная проблема: в настройках компилятора для оптимизации генерации кода было установлено значение true, а значение, по-видимому, представляется в качестве значения по умолчанию для TDateTime. Когда я изменил настройку оптимизации на false, я вижу значение.

1 ответ

Я думаю, что причина, по которой вы не видите myDateTime в том, что он никогда не привыкает.
Как таковой, он является кандидатом на удаление мертвого кода.
Очевидно, что удаленный код не может быть выполнен, и вы не можете видеть значение.

Если вы отключите оптимизацию, ваш (бесполезный) код не будет удален, и вы увидите заполнение переменной.

Другие вопросы по тегам