Global

グローバル変数の宣言をします。グローバル変数はどこからでもアクセスできます。

書式
Global [ Preserve|Static|NonStatic ] データ型 変数名 [(配列変数の最大要素番号)] [, 変数名[(配列変数の最大要素番号)] ,...]

パラメーター

Preserve
Preserveを指定すると、変数の値を保持します。プロジェクトを変更すると、この値はクリアします。省略可能です。
データ型
Boolean, Byte, Double, Int32, Integer, Long, Real, Short, String, UByte, UInt32, UShortのいずれかのデータ型を指定します。
変数名
変数名を32文字以内で指定します。
配列変数の最大要素番号
配列変数の最大要素番号で、最高3次元まで宣言できます。次の書式を使用します。省略可能です。
(最大要素番号1, [最大要素番号2], [最大要素番号3])
要素番号は0から始まるので、要素数は最大要素番号に1加えた数となります。
グローバル変数の場合、全要素数は最大100,000です。ただし、String型は最大10,000です。
バックアップ変数 (Global Preserve)の場合、全要素数は最大4,000です。ただし、String型は最大400です。
各最大要素番号は、全要素数が最大値を超えない範囲で指定します。
Static
Staticを指定すると、コントローラー起動後の初回のメインファンクション実行時に初期化されます。
NonStatic
NonStaticを指定すると、メインファンクション実行のたびに初期化されます。

解説
グローバル変数は、同じプロジェクト内であれば複数のファイルで共有できる変数です。Preserveオプションで宣言されない限り、Runウィンドウやオペレーターウィンドウからファンクションが起動されるたびにクリアされます。 グローバル変数の初期化については、以下のマニュアルを参照してください。
"Epson RC+ ユーザーズガイド - 変数の初期化"

Preserveオプションで宣言されると、コントローラーの電源を落としても値が保持されます。

保存したグローバル変数は、オプションのRC+ APIオプションで用いることも可能です。

グローバル変数名は、プログラム中で見分けやすくするため、下記例のように、接頭部 "g_" で始めてください。

Preserve, Static, NonStaticのいずれも宣言がない場合は、コントローラーの環境設定「ファンクション起動時にグローバル変数を初期化」に従います。

Global Long g_PartsCount

参照
Boolean, Byte, Double, Int32, Int64, Integer, Long, Real, Short, String, UByte, UInt32, Uint64, UShort

Global使用例
下記は、異なる2つのプログラムファイルです。最初のファイルでは、いくつかのグローバル変数を定義し初期化しています。次のファイルで、それらのグローバル変数を使っています。

FILE1 (MAIN.PRG)

Global Integer g_Status
Global Real g_MaxValue

Function Main

    g_Status = 10
    g_MaxValue = 1.1
    .
    .
Fend

FILE2 (TEST.PRG)

Function Test

    Print "status1 =" , g_Status
    Print "MaxValue =" , g_MaxValue
    .
    .
Fend