EXTERN (Module)

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » E » EXTERN (Module)

Syntax: EXTERN [IMPORT] Bezeichner [ALIAS "Aliasname"] [AS Typ]
Typ: Anweisung
Kategorie: Bibliotheken

EXTERN wird benutzt, um auf externe Variablen zuzugreifen, die in anderen Modulen oder DLLs deklariert sind. Im Gegensatz zu COMMON wird kein Speicherplatz reserviert, die Variable wird lediglich definiert und zeigt auf den Speicherbereich des anderen Moduls. Die Anweisung wurde hinzugefügt, um die C-Bibliotheken wie Allegro und DirectX zu unterstützen.

Eine Variable kann mehrmals EXTERN deklariert werden, sofern bei dieser Deklaration derselbe Datentyp angegeben wird.

Eine als EXTERN definierte Variable benötigt kein SHARED (die Syntax erlaubt dies auch nicht), da diese Variablen automatisch global im Modul zur Verfügung stehen.

Beispiel:

' Modul1.bas
EXTERN foo ALIAS "foo" AS INTEGER

SUB SetFoo
  foo = 1234
END SUB

'------'

' Modul2.bas
DECLARE SUB SetFoo
EXTERN Foo ALIAS "foo" AS INTEGER
DIM foo AS INTEGER = 0

SetFoo
PRINT Foo
SLEEP

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:

Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht EXTERN nicht zur Verfügung und kann nur über __EXTERN aufgerufen werden.

Siehe auch:
EXTERN ... END EXTERN, COMMON, DIM, REDIM, SHARED, ALIAS, Module (Library / DLL), Gültigkeitsbereich von Variablen