Автор Тема: 2.0.2.1-Спецификатор внешнего типа Global.  (Прочитано 1921 раз)

Оффлайн linker

  • Модератор
  • Пользователь
  • *****
  • Сообщений: 71
  • Reputation: +1/-0
    • Просмотр профиля
Спецификатор внешнего типа Global.

Для изначального предоставления глобального доступа к переменной из основного потока для всех процедур используется оператор Global. При использовании оператора Global, переменной выделяется один единственный экземпляр, доступный из любого места на протяжении всей программы. Доступ может быть предоставлен переменным, которые еще ни разу не были вызваны или определены.
Целесообразнее всего использовать следующий способ глобализации переменных.

  • Global string$="string" ,a ,b=10   ;предоставить глобальный доступ к переменным и присвоить им значения
  • Procedure String()
  • Debug string$   ;глобальная переменная доступна в процедуре
  • string$="changed string"   ;присвоить новое значение
  • EndProcedure
  • String()
  • Debug string$      ;вывод измененного в процедуре значения переменной
Предоставление глобального доступа к уже объявленной переменной закончится ошибкой.
  • string$="string"      ;объявить переменную, задав ей значение
  • Global string$      ;глобализация этой переменной в текущем потоке уже невозможна
Но возможно получение глобального доступа к ранее объявленной переменной прямо из процедуры, если в этой процедуре она еще не объявлена.
  • Procedure String()
  • Global string$   ;предоставить глобальный доступ к переменной
  • Debug string$
  • string$="changed string"
  • EndProcedure
  • string$="string"
  • String()
  • Debug string$
Такой способ глобализации переменной, в отличие от предыдущего, не вызовет ошибку, так как впервые переменная string$ была объявлена до блока процедур.
  • string$="string"      ;задать значение переменной
  • Procedure String()
  • Global string$   ;невозможно предоставить глобальный доступ к переменной, объявленной до блока процедур
  • EndProcedure
  • String()


Все примеры написаны и проверены на языке высокого уровня PureBasic v4.31.
Дата составления 14 июля 2009 г.
©Copyright LOMASM - Информационные технологии. Все права защищены. Редактирование и публикация материала только с разрешения автора.
 1lomasm.ru