Extern
 
Объявляет переменную, массив или объект с внешней линковкой

Синтаксис

Extern [ Import ] symbolname[ (subscripts) ] [ Alias "aliasname" ] As DataType [, ...]

Параметры

symbolname
Имя переменной, массива или объекта.
aliasname
Альтернативное внешнее имя переменной, массива или объекта.

Описание

Декларирует symbolname как внешнее имя , то есть оно является глобальным для внешних модулей. Extern только декларирует переменные, массивы и объекты , но не определяет их (отличается от Common или Dim). Оно также имеет эффект shared для имени symbolname , то есть оно является видимым в пределах процедур (см. Shared). symbolname продекларированное как внешнее имя может быть (пере)определено (с помощью операторов Dim или Redim) только в одном внешнем модуле.

Если используется Alias , aliasname будет использоваться как внешнее имя вместо symbolname, и это будет сохранено.

Если используется Import , имя будет добавлено в список импорта динамической библиотеки, поэтому его адрес может быть установлен во время выполнения.

Пример

'' extern1.bas

Extern Foo Alias "foo" As Integer

Sub SetFoo
    foo = 1234
End Sub


'' extern2.bas

Declare Sub SetFoo

Extern Foo Alias "foo" As Integer

Dim foo As Integer = 0

SetFoo

Print Foo

Вывод:
 1234

Различия диалектов

  • Не доступно в диалекте -lang qb.

Отличия от QB

  • Новое в FreeBASIC

См. также