MSX Datapack wiki化計画

4章 ハンドルの概念の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{include unfinished_page}}

,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[3章 MSXViewの構成と機能]]                                                        ,{BSIZE:0|RIGHT}[[5章 APの標準レイアウト]]                                                        →

 MSXViewでは、さまざまなマネージャでのデータブロックの指定に、ハンドルと呼ばれるデータ構造を使用しています。ハンドルは1バイトの整数で表現され、その番号により、以下の意味があります。

'''表3.1 ハンドルの意味'''
,ハンドル番号,意味
,0,ハンドルの番号としては使用しません。システムに対して、新しいハンドルを割り付けを要求するときなどに使用します。
,1〜127,指定した番号を割り当てて、固定的に使用します。システムがアプリケーション用に固定的に提供しているものや、アプリケーションのメインモジュールとオーバーレイモジュールとのリンクに使用します。ただし、汎用のモジュールではハンドルの割り当てが重なる恐れがあるため、この固定ハンドルを用いることはできません。
,128〜254,他のハンドルと重ならないように、動的に割り当てられる番号です。オーバーレイモジュール、デスクアクセサリ、汎用モジュール内などで一時的に使われたり、アプリケーションが通常使用するハンドルです。
,255,ハンドルの割り当てに失敗した場合のエラーとして返す番号です。ハンドルとしては使用しません。

 MSXViewでは、次のようなものがハンドルで管理されています。
* ウィンドウ
* ビットブロック
* ペン(グラフパックの描画環境)
* フォントテンプレート(フォントパックの描画環境)
* テキストテンプレート(文字列編集の環境)
* ファイル
* メニュー
* コントロール
* ウィンカ

 MSXViewでは、ハンドル管理されているデータブロックは、すべてシステムエリアに規定個数のデータエリアが用意されています。したがって、アプリケーションが各種のテンプレートとして、大きなデータブロックをいくつも準備する必要はありません。
 ハンドル管理を行うことにより、大量のデータを1バイトで指定できるので、貴重なアプリケーションプログラム領域を無駄使いすることなく、プログラムのオーバーレイなどを行っても、データの位置を気にすることなく開発することができます。

,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[3章 MSXViewの構成と機能]]                                                        ,{BSIZE:0|RIGHT}[[5章 APの標準レイアウト]]                                                        →