Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Просмотр значений переменных при помощи окна Watch






В Delphi имеются два способа просмотра значений переменных:

· окно наблюдаемых величин (Watches),

· ToolTip Expression Evaluation (Мастер оценки выражений).

Окно наблюдаемых величин дает возможность указать имена переменных, которые вы желаете контролировать и значения которых будут отображаться в небольшом окне. Чтобы добавить наблюдаемую величину, вы можете либо нажать Ctrl+F5, либо выполнить команду меню Run | Add Watch (Выполнить | Добавить наблюдаемую величину) и в появившемся диалоговом окне Watch Properties (Наблюдаемые величины), показанном на рис.6.12, определить следующие параметры: имена переменных, их типы и выражения. Например, вы можете задать

Value 1 + Value2

или

IntToStr(Value1).

 

В диалоговом окне Watch Properties в поле ввода выпадающего списка Expression (Выражение) наберите Valuel. В результате появится диалоговое окно Watch List (Список наблюдаемых величин), где будут отображаться наши наблюдаемые переменные и их текущие значения, как показано на рис.6.13.

Если переменная еще не была создана или не получила значение, то на том месте, где должно находиться значение, будут выводится различные сообщения, указывающие состояние переменной. Например, сообщение может быть таким:

Process not accessible

(Процесс недоступен).

это означает, что код, который создают эти переменные, или еще не выполнялся, или уже закончил свою работу и переменные были удалены из памяти.

Вы можете также получить сообщение:

Inaccessible here due to optimization

(Сейчас не доступна из-за оптимизации).

Это обычно означает, что переменная еще не получила значения. Как только начнут выполняться строчки кода, в которых используется наблюдаемая переменная, ее значение появится в диалоговом окне Watch List.

Добавьте в список наблюдаемых величин вашего приложения Addition переменные Value2 и Total. Для этого, вызовите диалоговое окно Watch Properties в соответствии с теми рекомендациями, что приводились выше, и введите имя переменной, за которой вы должны наблюдать (например, Value2 или Total), в поле ввода списка Expression. Затем нажмите кнопку ОК. Вы должны выполнить эти действия для каждой переменной. Теперь два раза нажмите клавишу F8 (команда Step Over), чтобы пройти оставшуюся часть процедуры и узнать значения переменных. При выполнении переменная Value1 имеет значение, которое должно быть присвоено переменной Value2, а Value2 имеет вообще какое-то странное значение, а вместо значения переменной Total выведено сообщение, в котором сказано, что эта переменная была удалена редактором связей.

Обратитесь к процедуре AddNum из листинга 6.2, и вы увидите, что значение Edit2.Text было присвоено переменной Value1, хотя оно должно было быть присвоено переменной Value2. Этот тип ошибки часто возникает в результате операций «вырезать и вставить», когда после выполнения операции вставки вы забываете изменить соответствующим образом имена переменных. По этой причине переменная Value2 так и осталась не инициализированной, и она имеет то значение, которое находилось в соответствующем месте памяти во время выполнения программы.

Теперь понятно что произошло с Value1 и Value2, но что же случилось с переменной Total? А случилось вот что. Поскольку эта переменная нигде не используется, редактор связей попросту удалил ее. Эта ситуация часто возникает при проектировании программ: вы вводите переменные, которые как вам первоначально думается, вы будете использовать. Затем, в процесс развития вашего проекта, вы решаете присваивать некое значение не промежуточной переменной, а непосредственному получателю этого значения, в нашем случае - соответствующему свойству метки. Но вы забываете npи этом вернуться назад и удалить объявление ненужной вам переменной. Эта переменная никому не мешает, но компилятор будет сообщать вам, что переменная Total не используется. А вы можете либо использовать ее когда либо потом, либо удалить ее объявление.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал