変数の宣言と、範囲の修飾語
構文:
記述:
静的および動的ライブラリ(DLL)としてコンパイルされるものを含め、コードモジュール間で共有される変数を宣言します。
この変数を使う他のすべてのコード・モジュールに、一致する Common 命令文を記述する必要があります。
Common 変数は初期化できません。
Common の配列は、いつも可変長です。そして、空のパラメータ・リスト
() を付けて定義しなければなりません。次元は、後で、
Dim か
Redim 命令文で、設定します。
Common 変数は、たとえ暗黙的でも、コンストラクタやデストラクタを持つユーザ定義型のインスタンスにすることはできません。
Shared パラメータを使うと、変数は、グローバルになります。モジュール・レベルと同様に、
sub や
function の中でも、変数を使えるようになります。
例:
'' common1.bas
Declare Sub initme
()
Common Shared foo() As Double
ReDim foo(0 To 2)
initme
()
Print foo(0), foo(1), foo
(2)
Sleep
'' common2.bas
Common Shared foo() As Double
Sub initme
()
foo(0) = 4*Atn
(1)
foo(1) = foo(0)/3
foo(2) = foo(1)*2
End Sub
次のような 2つのファイルをコンパイルした後:
fbc common1.bas common2.bas
common1 を実行すると、出力されます:
3.141592653589793 1.047197551196598 2.094395102393195
プラットホーム差:
- Windows は、ダイナミックライブラリ(-dll または -dylib でコンパイルされた)を使用した Common をサポートしていません。
QBからの違い:
-
配列は、いつも可変長になります。
-
blockname は不要で、取り外さなければりません。宣言の順番は重要でなく、シンボル名だけがあればよいからです。
- Common では、Chain を使ってプログラムをチェーンするときに、特定の変数の値を保持することはできません。
参照: