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