ВУЗ:
Составители:
30
Существует три уровня определения области видимости переменной:
уровень процедуры, уровень модуля и уровень проекта.
Когда переменная объявлена в теле процедуры, говорят, что она описана
на уровне процедуры. Такие переменные называются локальными. Они доступ-
ны только в пределах той процедуры, в которой они объявлены. Переменные,
объявленные неявно, всегда являются локальными.
Если переменная объявлена в разделе объявлений модуля, то есть до ка-
ких-либо объявлений процедур (рис. 5), говорят, что она объявлена на уровне
модуля. Такая переменная доступна для совместного использования во всех
процедурах данного модуля и недоступна из процедур в других модулях. Зна-
чения переменной уровня модуля сохраняется все время, пока работает этот
модуль.
Если нужно, чтобы переменная могла использоваться процедурами, кото-
рые располагаются в нескольких модулях, она должна быть описана на уровне
проекта. Для этого ее нужно описать в разделе объявлений одного из модулей и
вместо слова Dim поставить ключевое слово Public .
Переменные, описанные на уровне проекта, называются глобальными.
Время жизни глобальных переменных – все время, пока работает приложение.
Для локальной переменной существует еще один способ объявления, не
меняющий ее уровень, но влияющий на время жизни. Если при объявлении пе-
ременной в теле процедуры вместо оператора Dim поставить Static, то выде-
ленная ей память не отбирается при выходе процедуры, в которой она была
описана и использована, и значение переменной сохраняется. Такая переменная
называется статической.
Статическая переменная не доступна вне тела процедуры, в которой она
объявлена. Но если произойдет повторный вызов этой процедуры, переменная
не будет заново инициализироваться, а будет иметь то значение, которое она
имела в момент завершения работы процедуры при предыдущем вызове.
Процедуры имеют только два уровня видимости – уровень модуля и уро-
вень проекта. По умолчанию используется уровень проекта.
Рис. 5. Переменная strA объявлена на уровне модуля
Существует три уровня определения области видимости переменной:
уровень процедуры, уровень модуля и уровень проекта.
Когда переменная объявлена в теле процедуры, говорят, что она описана
на уровне процедуры. Такие переменные называются локальными. Они доступ-
ны только в пределах той процедуры, в которой они объявлены. Переменные,
объявленные неявно, всегда являются локальными.
Если переменная объявлена в разделе объявлений модуля, то есть до ка-
ких-либо объявлений процедур ( рис. 5), говорят, что она объявлена на уровне
модуля. Такая переменная доступна для совместного использования во всех
Рис. 5. Переменная strA объявлена на уровне модуля
процедурах данного модуля и недоступна из процедур в других модулях. Зна-
чения переменной уровня модуля сохраняется все время, пока работает этот
модуль.
Если нужно, чтобы переменная могла использоваться процедурами, кото-
рые располагаются в нескольких модулях, она должна быть описана на уровне
проекта. Для этого ее нужно описать в разделе объявлений одного из модулей и
вместо слова Dim поставить ключевое слово Public .
Переменные, описанные на уровне проекта, называются глобальными.
Время жизни глобальных переменных – все время, пока работает приложение.
Для локальной переменной существует еще один способ объявления, не
меняющий ее уровень, но влияющий на время жизни. Если при объявлении пе-
ременной в теле процедуры вместо оператора Dim поставить Static, то выде-
ленная ей память не отбирается при выходе процедуры, в которой она была
описана и использована, и значение переменной сохраняется. Такая переменная
называется статической.
Статическая переменная не доступна вне тела процедуры, в которой она
объявлена. Но если произойдет повторный вызов этой процедуры, переменная
не будет заново инициализироваться, а будет иметь то значение, которое она
имела в момент завершения работы процедуры при предыдущем вызове.
Процедуры имеют только два уровня видимости – уровень модуля и уро-
вень проекта. По умолчанию используется уровень проекта.
30
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
