Переменная 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
в том, что он никогда не привыкает.
Как таковой, он является кандидатом на удаление мертвого кода.
Очевидно, что удаленный код не может быть выполнен, и вы не можете видеть значение.
Если вы отключите оптимизацию, ваш (бесполезный) код не будет удален, и вы увидите заполнение переменной.