4D v16.3

配列と4D言語

ホーム

 
4D v16.3
配列と4D言語

配列と4D言語  


 

 

配列は、4Dの変数です。他の変数と同様、配列にもスコープがあり、4D言語のルールに従いますが、いくつか他の変数とは異なる点があります。

ローカル、プロセス、インタープロセス配列を作成して使用できます。次に例を示します:

 ARRAY INTEGER($aiCodes;100) ` 100個の2バイト整数値でローカル配列を作成
 ARRAY INTEGER(aiCodes;100) ` 100個の2バイト整数値でプロセス配列を作成
 ARRAY INTEGER(<>aiCodes;100) ` 100個の2バイト整数値でインタープロセス配列を作成

これらの配列のスコープは、他のローカル、プロセス、インタープロセス変数のスコープと同じです。

ローカル配列は、配列の名前をドル記号 ($) で始めることによって宣言されます。

ローカル配列のスコープは、それが作成されたメソッド内です。メソッドが終了すると配列も消去されます。2つの異なるメソッドにある同じ名前のローカル配列は、実際にはスコープの異なる2つの別の変数なため、それぞれに異なるタイプを指定できます。

フォームメソッド、オブジェクトメソッド、またはこれらのメソッドによってサブルーチンとして呼び出されるプロジェクトメソッドの中でローカル配列 を作成する場合、配列はフォームメソッドまたはオブジェクトメソッドが起動されるたびに作成され消去されます。つまり、配列はフォームイベントごとに作成 され消去されます。したがって、目的が表示であれ印刷であれ、ローカル配列をフォームに使用することはできません。

ローカル変数のように、可能な限りローカル配列を使用することをお勧めします。そうすることにより、多くの場合、アプリケーションを実行するために必要なメモリの量を小さくできます。

プロセス配列は、配列名を文字で始めることによって宣言されます。

プロセス配列のスコープは、それが作成されたプロセス内です。配列は、プロセスの終了時またはアボート時に消去されます。プロセス配列には、プロセ スごとに1つのインスタンスが自動的に作成されます。したがって、配列はプロセスのどこでも同じタイプです。ただし、その内容はプロセスによって異なります。

インタープロセス配列は、配列名を<>で始めることによって宣言されます。

インタープロセス配列は、データベース全体で使用することができ、すべてのプロセスで共用されます。これらの使用は、プロセス間でのデータの共有や情報の転送のみに限る必要があります。

Tip: インタープロセス配列が複数のプロセスによってアクセスされ、それが衝突するおそれがあると予測できる場合、その配列へのアクセスをセマフォによって保護します。詳細については、Semaphore 関数の例題を参照してください。

Note: プロセス配列とインタープロセス配列をフォームの中で使用して、スクロールエリアやドロップダウンリスト等のフォームオブジェクトを作成できます。

配列を引数として4Dコマンドや4Dプラグインのルーチンに渡すことができます。しかし、配列をパラメータとしてメソッドに渡すことはできません。代わりに、配列へのポインタを引数としてメソッドに渡すことはできます。詳細については、を参照してください。

テキストや文字列変数とは異なり、配列を他の配列に代入することはできません。配列を他の配列にコピー(代入)するには、COPY ARRAYコマンドを使用します。



参照 

配列
配列とポインタ

 
プロパティ 

プロダクト: 4D
テーマ: 配列

 
履歴 

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)