UJMLアプリケーションは、現在実行中のアプリケーションを停止することなく、他のUJMLパーティションをリンクし 実行させることができます。
リンクとは、実行中のアプリケーションを停止することなく、 コンパイルされたUJMLパーティションファイルをメモリに読み込み、実行することを指します (他のアプリケーションを実行する場合、実行中のアプリケーションは停止します)。 関連項目: アプリケーションファイル、 パーティションファイル、 ファイルの実行。
リンクされたパーティションはデバイスメモリ内の名前付きの領域に読み込まれます。 名前付きの領域は明示的にアンロードすることができます。またメモリ内のパーティションが自分自身をアンロードすることも可能です。
デバイスメモリ以外に、リンクできるパーティションの数を制限する要素はありません。 しかし名前付きのメモリ領域を使用できるパーティションは1つに限られます。 同一の名前付きメモリ領域を使用して他のパーティションのリンクを試みると、 新しいパーティションによって古いパーティションが上書きされます。 異なる名前付きメモリ領域を使用して同一のパーティションを複数回読み込むと、 パーティションはその都度読み込まれ、メモリも読み込み回数分消費されます。
パーティションがモジュール(アプリケーションファイルまたはパーティションファイル)からリンクされている場合、 そのパーティションから他のパーティションをリンクすることができます。 このような多重リンクはデバイスのメモリが許す限り何階層も行うことが可能です。
親モジュールはそれぞれ自分自身の名前空間を持っています。2つの子パーティションが同一の名前付きメモリ領域を 使用して孫パーティションをリンクしても、UJMLはそれぞれを別のパーティションとして扱います。
変数や関数といった名前付きのモジュールメンバーは、モジュールとそのモジュールからリンクした パーティションとの間で共有することができます。 関連項目: 識別子、 共有。 共有を行うことができるのはモジュールとそのリンク先のパーティションとの間に限られます。 ただし、リンクされたパーティションがさらに他のパーティション(孫パーティション)をリンクしている場合、 孫パーティションからも共有された識別子をアクセスすることができます。
UJMLはパーティションのリンクとアンロードを行うための関数を豊富に用意しています。
|
Function |
説明 |
|
メモリ内のパーティションに名前を使用して新たなパーティションファイルの読み込みとリンクを行う。
| |
|
指定した名前のパーティションをアンリンクしアンロードする。 | |
|
パーティションファイルから呼ばれた場合、現在実行中のパーティションをアンリンクしアンロードする。
アプリケーションファイルから呼ばれた場合、アプリケーション全体をアンロードする。
関連項目: ファイルの実行。 |
次の例では、パーティション名に'Locale'を使用して コンパイル済みのパーティションファイル'velocale.ujbc' をリンクしています。 実際に使用されるパーティションは、ディレクトリ名にデバイスのロケール文字列の言語部分を使用したディレクトリから読み込まれます。 このサンプルコードはvisualelements.ujml サンプルコードの一部です。
_link("Locale", _strcat(
_substring( _getStringProperty(&_PROPERTY_STRING_LOCALE;), 0, 2),
"/velocale.ujbc"));
次の例では、前述の名前付きパーティションをアンリンクしています。 このサンプルコードはvisualelements.ujml サンプルコードの一部です。
_unlink("Locale");|
Copyright (c) 2000-2005 by UIEvolution, Inc. All rights reserved.
|
|
この項目に関するフィードバックをお寄せください。 Send feedback!
|