UJMLアプリケーションは、実行中のアプリケーションファイルと任意の数のパーティションファイルから構成されています。
UJMLアプリケーションが起動されると、UIE Playerによってコンパイル済みのバイトコードがデバイスのメモリに読み込まれ、 最上位層のscriptとdisplay要素が実行されます。 関連項目: アプリケーションファイル、 バイトコードファイル、 ファイルの実行、 スクリプティング。 UJMLソースを直接実行することはできません。
コンパイルされたUJMLバイトコードは、実行可能なバイトコードの1つのモジュールです モジュールは、コンパイル元のUJMLファイルによってアプリケーションとパーティションの2種類に分かれます。 関連項目: アプリケーションファイル、 パーティションファイル。
モジュールの起動時にUIE Playerが読み込み可能なモジュールはアプリケーションモジュールただ一つのみです。 アプリケーションモジュールからは、他のアプリケーションを実行することが可能です。その場合、実行中のアプリケーションは アンロードされ新たなアプリケーションが読み込まれます。 関連項目: ファイルの実行。 UJMLはアプリケーションの実行、停止、そして直前に実行されたアプリケーションが自ら動作を停止した場合の再実行機能を備えています。
パーティションモジュールを直接実行することはできません。 パーティションモジュールは実行中のアプリケーションから「リンク」という処理に応じてメモリに読み込み/アンロードされます。 関連項目: ファイルのリンク。 親モジュールとリンク先のパーティションモジュールとの間では、変数、関数そして他の識別子を共有することが可能です。
アプリケーションファイルとパーティションファイルには、コンパイル時の、バイトコードモジュールが生成される前の段階で コードを他のファイルからインクルードすることができます。 関連項目: ファイルのインクルード。 この処理はコンパイル時にのみ行うことが可能で、リンクのように動的に行うことはできません。
読み込み元がアプリケーションモジュールであろうと、パーティションモジュールであろうと、 モジュールの最上位層のscriptとdisplay要素は モジュールのスタートアップ(初期化)コードの役割を担い、モジュールがメモリに読み込まれた直後に UJMLによって実行されます。
このスタートアップコードにおいて関数を呼び出す、変数の値を変更する、ステート変数の値を設定する等の処理を行い、 ステートトランジションを発生させることが可能です。 関連項目: Data, ステートトランジション。 ビジュアル要素は、それ自身にスクリプティングコードを記述することができます。 このスクリプティングコードはビジュアル要素の表示と共に実行されます。 関連項目: ビジュアル要素。 スタートアップの流れに含まれる全てのスクリプティングコードが実行されると、UJMLプログラムはアイドル状態になり、 イベントの発生を待ち受けます。 関連項目: 実行順序。
イベントハンドラは特定のイベントを検出するために、異なるコンテキストで宣言することが可能です。 関連項目: イベントの処理。 イベントが発生しそのイベントに関連付けられているスクリプティングコードが実行されるとアプリケーションの状態の変化し、 次の一連のスクリプトの実行が開始します。
この流れはモジュール自身がアンロードを行うか、親モジュールによってアンロードされる(パーティションモジュールの場合) まで繰り返されます。アンロードされたモジュールがパーティションの場合、パーティションはメモリからアンロードされ アプリケーションが引き続きイベントを処理します。アンロードされたモジュールがアプリケーションの場合、 UJMLはUNLOADイベントを発生させます。 関連項目: UNLOAD event。 アプリケーションモジュール、もしくは読み込まれているパーティションにUNLOADイベントのイベントハンドラが記述されている場合、ハンドラのスクリプトが1回実行された後にアプリケーションと全てのパーティションが メモリからアンロードされます。
備考: UNLOAD イベントの検出を行えるイベントハンドラは1つに限られます。 UNLOADイベントに対して 複数のイベントハンドラが登録されている場合、z-orderが一番高いハンドラのみがイベントを検出します。
|
項目 |
説明 |
|
UJMLはヒストリースタックを使用してアプリケーションの読み込みとアンロードを管理している。 | |
|
UJMLアプリケーションは実行中のアプリケーションを停止することなく、他のUJMLパーティションをリンクし実行することができる。 | |
|
UJMLでは、コンパイル時に他のファイルを現在のファイルにインクルードすることができる。 | |
|
UJMLにおける実行順序についての解説。 |
|
Copyright (c) 2000-2005 by UIEvolution, Inc. All rights reserved.
|
|
この項目に関するフィードバックをお寄せください。 Send feedback!
|