ВУЗ:
Составители:
Рубрика:
1.3. Visual Basic for Applications 60
3
То, в каком месте программы и как именно описана переменная (или массив),
определяет область ее действия и то, как долго она "живет" в памяти и
сохраняет присвоенное ей значение. Имеется три различных уровня при
определении области действия переменных — уровень процедуры, уровень
модуля и уровень проекта.
Чтобы определить переменную на уровне процедуры, ее описание помещается
в тело этой процедуры.
Чтобы определить процедуру на уровне модуля и сделать ее тем самым
доступной для совместного использования во всех процедурах этого модуля,
следует поместить ее описание в секции объявлений модуля — перед текстом
каких-либо процедур или функций. При этом может использоваться и явное
описание области действия: вместо ключевого слова Dim в этом случае
используется ключевое слово Private. Нет никакой разницы в том, какой из
этих описателей вы используете.
Наконец, чтобы описать переменную на уровне проекта, необходимо
расположить ее описание в секции объявлений одного из модулей проекта и
при этом обязательно должно использоваться ключевое слово Public.
Описанные таким образом переменные могут использоваться в любом модуле
проекта.
Все вышесказанное относится и к описанию констант и определению их
области действия.
Для переменных имеется еще один способ их описания, не изменяющий их
уровня, но позволяющий сохранить значение переменной, описанной на уровне
процедуры, после завершения работы этой процедуры. Для этого следует
использовать описатель Static, тем самым определяя ее как статическую
переменную. Такая переменная сохраняет выделенное ей место в памяти и свое
значение даже после завершения процедуры, в которой она была описана и
использовалась.
Тем не менее, статическая переменная не может быть использована в других
процедурах! Изменяется лишь время ее жизни, но не область действия. Если
произойдет повторный вызов той же самой процедуры, в которой была описана
статическая переменная, то эта переменная сохранит свое прежнее значение,
которое она имела в момент завершения работы этой процедуры при
предыдущем вызове. Обыкновенные, не статические переменные, всякий раз
инициализируются заново и получают при входе в процедуру пустые значения.
Процедуры и функции имеют только два уровня областей действия: уровень
модуля и уровень проекта. По умолчанию используется уровень проекта —
таким образом, процедура или функция может быть вызвана любой другой
процедурой или функцией в этом проекте. При описании процедур и функций
на уровне проекта может также использоваться необязательное ключевое слово
Public. Никакого воздействия на процедуру наличие или отсутствие этого
слова не оказывает.
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »
