外部結合を持っている、変数、配列またはオブジェクトを宣言します。
構文:
パラメタ:
symbolname
変数、配列またはオブジェクトの名前。
aliasname
変数、配列またはオブジェクトのための、代替の外部名。
記述:
Extern は、
symbolname を外部名として宣言します。
これは、
symbolname が、静的および動的ライブラリ(DLL)としてコンパイルされるモジュールを含む外部モジュールに対してグローバルであることを意味します。
Extern は、変数、配列、およびオブジェクトを宣言するだけで、それらを定義はしません(
Common や
Dim とは異なります)。
Extern は、また、
symbolname を
shared 名にする効果もあります。
つまり、手続き内で表示されます(
Shared を参照)。
外部名として宣言された
symbolname は、単一の外部モジュールでのみ(Dim か Redim を使って)定義(または再定義)できます。
Alias を使うと、
symbolname ではなく、
aliasname が外部名として使われ、その大文字・小文字は保持されます。
Extern は、C ライブラリをサポートするために追加されました。
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
出力:
方言差:
QBからの違い:
参照: