2013-05-29 3 views
12

Может кто-нибудь объяснить этот экран:Strange «недоступное значение» в отладчике

enter image description here

Как вы можете видеть, у меня есть простой массив - отладчик показывает значения его элементов при использовании A [0], A 1 ... , но я не могу получить элементы с local переменная A [i] (но значение «i» показано правильно).

Настройки проекта:
Debug информация: ON
Локальные символы: ON
Оптимизация: OFF.

Проект (один файл PAS) является СТРОИМ, поэтому DCU является свежим. Вы можете видеть на этом экране почти полный код этого тестового проекта, поэтому нет возможности, чтобы массив A или «i» был объявлен в каком-то другом блоке и т. Д.

Теперь я проверил - тот же код в Delphi XE3 отлично работает - отладчик отображает все значения. Похоже, что XE4 имеет серьезную ошибку в базовой функции: - ((

+1

проверить свойства для A [i] и попытаться установить «разрешить вызов функции» там. Просто стреляйте в небеса. –

+0

попробуйте добавить переменную j: ​​integer, добавив в нее j: = i. но я не вижу никакой другой причины, чем переменная цикла. –

+1

Отправьте свое окно «Параметры проекта», выбрав пункт «Компилятор», чтобы мы могли видеть полную конфигурацию. – gustavogbc

ответ

2

Это не работает, потому что 'val' - это функция, а не переменная. Дважды щелкните по наблюдаемому элементу и проверьте функцию функции allow звонки '.

+0

Это ясно видно из кода, опубликованного OP, что «val» представляет собой целочисленный дочерний элемент (то есть: переменная) записи с именем «TSome», а A - массив этой записи. Поэтому A [i] .val указывает на целочисленную переменную, а не на функцию ... –

Смежные вопросы