これは RuntimeRevolution 1.1.1 のヘルプにある文書を邦訳したものです。この文書の文責はUDIにあり、またUDIはこの文書についての一切の債務を負いません。 間違いがありましたら eudio@chabashira.co.jp までお知らせ下さい。この文書は必要と思われる時に適宜アップデートされます。

Help -> Revolution Documantation -> Development Guide -> Objects & messages -> About... main stacks, substacks, and the organization of a stack file


About main stacks, substacks, and the organization of a stack file
メインスタックとサブスタック、そしてスタックファイルの構造
==============

参照:
--------------
About windows, palettes, and dialog boxes, How to move a stack to another file, Why is there already a stack with the same name?, File menu > New Mainstack, File menu > New Substack of (main stack name), File menu > New Referenced Control, File menu > Move Substack to File..., View menu > Application Overview, create stack command, mainStack property, openStacks function, revLoadedStacks function, stacks function, substacks property


 スタックは Revolution アプリケーション構造の基本単位である。各アプリケーションは少なくとも1つのスタックを持っている。そして同じファイル内に、或いは別ファイルに、いくつものスタックを持つことが出来る。

 このトピックでは、スタックファイルの構造、同じファイル内にあるスタック同士の関係、そしてアプリケーションのスタックファイル以外のファイルを使う方法について解説する。

 このトピックを充分に理解するためには、スタックの open、create、save の方法を理解している必要がある。もし 'Getting Started' チュートリアルが済んでいるなら、このトピックを理解するための情報は得ている。


Contents:
The Structure of a Stack File
Main Stacks and Substacks
Stacks, Stack Files, and Memory
Using External Files


The Structure of a Stack File
スタックファイルの構造
 Revolution の各ファイルはひとつ以上のスタックを含んでいる:ひとつはメインスタックであり、他はサブスタックである。複数の関連スタックを1つのファイルにまとめて配布を容易にしたり、カテゴリ別に分けたりすることが出来る。これらのスタックはメインスタックのプロパティを継承することが出来る。

 各スタックはウィンドウ( editable、modeless、modal dialog box、palette を含む)であるため、ひとつのスタックファイルには複数のウィンドウを含むことが出来る。

Opening a stack file:
スタックファイルを開く:
 スタックファイルを開くとき、File メニューの 'Open Stack' を使うことも出来るし、go、modal、modeless、palette、または topLevel コマンドを使って、メインスタックから各スタックの最初のカードを開くことも出来る。

 スタックファイルに入っているサブスタックは、スタックファイルを開いた時に自動的には開かない。サブスタックを開くには、ハンドラやメッセージボックスを利用するか、Application Overview にあるスタックの名前を選択してウィンドウ上部の 'Go' ボタンをクリックする。

Saving a stack file:
スタックファイルの保存:
 スタックファイルはまとめて保存される。スタックを保存すると、そのスタックファイル内にある全てのスタックが同時に保存される。


Main Stacks and Substacks
メインスタックとサブスタック
 スタックファイル中の、最初に作ったスタックは、メインスタックと呼ばれる。同じファイルにある他のスタックは、メインスタックのサブスタックと呼ばれる。

 メインスタックは、同じファイル内にある全てのスタックのオブジェクト階層の一部である。言い換えると、メインスタックはそのサブスタックを含んでいる。サブスタックで処理されなかったメッセージはメインスタックのスクリプトに送られる。またサブスタックのカラーやフォントプロパティはメインスタックから継承される。

 ダイアログボックスとパレットは、メインのアプリケーションウィンドウ(多くはメインスタック)のサブスタックとして保存されることが多い。こうすれば、全てのサブスタックで使われるハンドラを、メインスタックのスクリプトに入れることが出来る。メインスタックはこれらサブスタックのオブジェクト階層の一部であるので、サブスタックのスクリプトからこれらのハンドラを呼ぶことが出来る。


Stacks, Stack Files, and Memory
スタック、スタックファイル、そしてメモリ
 開いていないスタックファイルでも、メモリに読み込まれていることがある。 the openStacks 関数はスタックウィンドウが開いているもの( Hide しているものも含む)しかリストアップしないが、他のスタックからメモリ上にあるスタックのオブジェクトにアクセスすることが出来る。(例えば、メモリ上にある閉じたスタックがある種のイメージを持っている場合、そのイメージを他のスタックでボタンアイコンとして使用することが可能である)

 以下の3つのケースでは、開いていないスタックがメモリ上に読み込まれている:

1. 他のスタックのハンドラが、閉じたスタックのプロパティを参照した時。このケースでは参照されるスタックが自動的にメモリに読み込まれる。

2. 同じスタックファイル内にあるスタックのひとつが開いている時。

3. destroyStack プロパティが false に設定されているスタックを開いて閉じた時。( destroyStack プロパティが false であるスタックは、ウィンドウを閉じてもメモリ上からは消えない)

(メモリ上の全スタックのリストを得るには revLoadedStacks 関数を使う)

 もしスタックファイル内の1つのスタックがメモリに上にあるなら、そのスタックファイル内の全スタックはメモリ上にある。


Using External Files
外部ファイルを使う
 各スタックはそのスタックサイズと同じだけのメモリを占有するので、使用頻度の少ないオブジェクト(カラーピクチャーやサウンドやビデオ)は外部のファイルに置いて、必要な時にだけメモリに読み込むようにすることを勧める。

これには2つの方法がある:

1. イメージやサウンドやビデオなどのメディアをそのフォーマットのまま外部ファイルに置き、そのデータを使いたい時にはそのファイルを参照するコントロールを使用する。イメージ、サウンド、ビデオファイルを参照するコントロールは、そのコントロールのあるカードが表示される時にだけデータをメモリに読み込む。そのため、イメージ、サウンド、ビデオでは、実際に必要な時にしかメモリが使われない。

 ファイルを参照するコントロールを作るには、File メニューの 'New Referenced Control' サブメニューを使うか、空の image オブジェクトや player オブジェクトを作って、fileName プロパティに参照したいファイルのファイルパスを入れる。

2. アプリケーションの一部を別のスタックファイルに分けて、必要な時にそのスタックファイルを参照する。 stackFiles プロパティを使えば、外部のスタックファイルを簡単に参照することが出来る。スタックの stackFiles プロパティにひとつ、あるいは複数のファイルパスを入れておけば、それらのスタックはスタック名だけで参照できるようになる。(訳注: Distribution Builder を使えば、簡単に半自動で複数のスタックファイルを関連づけることが出来ます)


邦訳/文責:UDI
2002.12.28
2003.01.02

inserted by FC2 system