adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
нужно использовать имя ее функции.
6. Турбо отладчик поддерживает шаблоны и вложенные классы
C++.
- Область действия шаблона зависит от текущей ячейки в
программе. Окна Wathes и Inspector с выражениями шабло-
на зависят от текущего объекта, в котором находится
программа.
- Вложенный класс находится в области действия того клас-
са, в который он вложен. Область действия вложенного
класса не является для программы глобальной.
Переопределение области действия в программах Паскаля
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Для разделения компонентов области действия используется
точка (.).
Для переопределения области действия используется следующий
синтаксис (в квадратные скобки заключены необязательные элемен-
ты):
[модуль.[имя_процедуры]имя_переменной
TDeb 3.0 #2-3 = 13 =
или
[модуль.[объектный_тип.][реализация_объекта.][метод]имя_поля
Если вы не задаете модуль, то подразумевается текущий мо-
дуль.
Далее приведено несколько примеров, которые не включают объ-
екты и методы. Каждый пример соответствует одной допустимой ком-
бинации элементов, которую вы можете использовать для переопреде-
ления области действия.
В следующих примерах показаны различные способы переопреде-
ления области действия с помощью использования имени процедуры
или модуля:
AVar Переменная AVar доступна в те-
кущей области действия.
AProc.AVar Локальная переменная AVar про-
цедуры AProc доступна в теку-
щей области действия.
AUnit.AVar Локальная переменная AVar дос-
тупна в модуле AUnit.
AUnit.AProc.AVar Переменная AVar доступна в
процедуре AProc, которая, в
свою очередь, доступна в моду-
ле AUnit.
Ниже приводятся несколько примеров, включающих объекты и ме-
тоды:
Instance Реализация Instance
доступна в текущей
области действия.
Instance.AField Поле AFild доступно в
реализации Instance,
доступной в текущей
области действия.
AnObjectType.AMethod Метод AMethod досту-
пен в типе объекта
AnObjectType, доступ-
ном в текущей области
действия.
AnInstance.AMethod Метод AMetod доступен
в экземпляре
AnInstance, доступном
TDeb 3.0 #2-3 = 14 =
в текущей области
действия.
AUnit.AInstance.AFild Поле AFild доступно в
экземпляре AInstance,
который доступен в
модуле AUnit.
AUnit.AnObjectType.AMethod Метод AMethod досту-
пен в типе
AnObjectType, который
доступен в модуле
AUnit.
AUnit.AnObjectType.AMetod.ANestedProc.AVar Локальная переменная
AVar доступна в про-
цедуре ANestedProc,
которая доступна в
методе AMethod, кото-
рый доступен в типе
AnObjectType, кото-
рый, в свою очередь,
доступен в модуле
AUnit.
Вы можете вводить такие уточненные идентификаторы выражений
в любом месте, где выражение допустимо (в том числе и в окнах
просмотра и вычисления (Watch и Evaluate)), например, если вы из-
меняете выражение в окне проверки (Inspector) или используете ло-
кальное меню в окне Module (Модуль) для перехода (Goto) по адресу
метода или процедуры в исходном коде.
Некоторые замечания по переопределению области действия
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
При переопределении области действия в программах на языке
Паскаль вам могут помочь следующие замечания:
1. Любая переменная, к которой вы обращаетесь с помощью пе-
реопределения области действия, уже должна быть инициа-
лизирована.
2. Если вы пытаетесь обратиться к локальной переменной, ко-
торой нет в текущей области действия, вы должны в качест-
ве части оператора переопределения области действия ис-
пользовать имя процедуры или функции.
3. В Паскале в качестве части оператора переопределения об-
ласти действия вы не можете использовать имя файла. Одна-
ко, для изменения языка на Си, в котором это допускается,
можно использовать команду OptionsіLanguage (Параметрыі
Язык).
TDeb 3.0 #2-3 = 15 =
Область действия и DLL
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Поскольку TDW одновременно загружает таблицы идентификаторов
файла .EXE текущего модуля и его библиотек DLL (к которым он об-
ращается и для которых имеется исходный код и таблица идентифика-
торов), вы можете не иметь возможности немедленно обратиться к
переменным DLL (или к переменным файла .EXE, когда вы находитесь
в DLL).
TDW сначала ищет переменную в таблице идентификаторов теку-
щего модуля или DLL, а затем во всех других таблицах в порядке их
загрузки. Если переменная имеет одно и то же имя в нескольких DLL
или в файле .EXE и в DLL, то отладчик TDW видит только первый ее
экземпляр. Для доступа к таким переменным вы не можете использо-
вать синтаксис переопределения области действия. Вместо этого для
загрузки соответствующего модуля или DLL нужно использовать кла-
вишу F3 или диалоговое окно Load Modules and DLLs (Загрузка моду-
лей и библиотек DLL).
Отладчик TDW загружает таблицу идентификаторов для:
1. Текущего модуля файла .EXE.
2. Любой явно загружаемой с помощью команды Symbol Load
(Загрузка идентификаторов) диалогового окна Load Modules
and DLLs (Загрузка модулей и DLL) DLL.
3. Любой DLL, в которую вы вошли из вашей программы.
TDeb 3.0 #2-3 = 16 =
Неявная область действия при вычислении выражений
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Всякий раз, когда Турбо отладчик вычисляет выражение, он
должен определить без явного указания, где в программе находится
область действия каждого идентификатора. Во многих языках это
имеет существенное значение, так как в процедурах и функциях мо-
гут использоваться идентификаторы с теми же именами, что и гло-
бальные идентификаторы. Турбо отладчик должен знать, какой именно
идентификатор вы имеете в виду.
В качестве основы при принятии решения об области действия
Турбо отладчик обычно использует текущую позицию курсора. Напри-
мер, вы можете задать область действия, которая будет использо-
ваться при вычислении выражения, переместив курсор на ту или иную
строку в окне Module (Модуль).
Это означает, что при смещении курсора с текущей строки, где
остановилась ваша программа, вы можете при вычислении выражения
получить непредвиденные результаты. Если вы хотите убедиться, что
выражения вычисляются в текущей области действия вашей программы,
используйте команду локального меню окна Module Origin (Начало),
|
adfun.ru
|
|
|
|