コンテキストID

[コンテキストID]特性は、[コールプログラム]や[コール式]、[コール公開プログラム]で有効です。ここには、新しいコンテキストの名前が返ります。この特性はオプションです。

この特性には、文字型のデータ項目を指定します。シンボル名を直接入力するか、[項目一覧]にズームして選択することで設定できます。メインプログラムを含む全ての上位タスクの項目を指定できます。

指定した項目が文字型かUnicode型でない場合、設定がキャンセルされます。

[コンテキストID]特性を使用すると、[コール]処理コマンドの[フォーム]特性は無視されます。

この特性は一般的に、2つのプログラムが互いに参照し合えるようにしたい場合に使用します。

例えば、プログラムAがプログラムBを呼び出し、[コンテキストID]特性に文字型項目を指定すると、プログラムBのコンテキストIDがプログラムAに返ります。「コンテンツ間のイベント送信」を参照してください。

[コンテキストID]特性に設定されるIDは、各コンテキストごとにユニークで、動的です。従って、同じプログラムを何回も起動した場合に、各プログラムのコンテキストを区別したい時に、この特性が使用できます。このような場合、コンテキストIDはコンテキスト名より効果的です。(プログラムが1回実行されるだけの場合は、コンテキスト名の方が効果的です。)

注意:

CtxSetName関数が呼び出されたプログラム(またはメインプログラム)の[タスク前]で使用された場合、この特性に値は返りません。これは、コンテキストがロードされた時点でコンテキストIDが設定されますが、コンテキストがすでにロードされる前に[タスク前]が有効になるからです。

CtxSetNameを使用してコンテキスト名を変更した場合、コンテキスト名はユニークではないかもしれません。この場合、コンテキスト間での対話を行う場合に問題が発生する可能性があります。