このセクションでは、リソースタイプの Natural オブジェクトについて説明します。
このドキュメントでは、次のトピックについて説明します。
Natural では次の 2 種類のリソースが区別されます。
共有リソース
共有リソースは、Natural アプリケーションで使用される Natural 以外の任意のファイルで、Natural ライブラリシステムで管理されます。
プライベートリソース
プライベートリソースは、唯一の Natural オブジェクトのみに割り当てられ、そのオブジェクトの一部であるとみなされるファイルです。 オブジェクトは最大で 1 つのプライベートリソースファイルを持つことができます。 現時点でプライベートリソースを持つのは Natural ダイアログのみです。
Natural ライブラリに属する共有リソースもプライベートリソースも、ファイルシステム内の Natural ライブラリを表すディレクトリの ..\RES という名前のサブディレクトリで管理されます。
共有リソースは、Natural アプリケーションで使用される Natural 以外の任意のファイルで、Natural ライブラリシステムで管理されます。 共有リソースとして使用する Natural 以外のファイルは、Natural ライブラリの ..\RES という名前のサブディレクトリに含める必要があります。
ビットマップ MYPICTURE.BMP は、ライブラリ MYLIB
に含まれるダイアログ MYDLG
のビットマップコントロールに表示されます。 最初にビットマップは、ディレクトリ ..\MYLIB\RES に移されることによって Natural ライブラリ MYLIB
に挿入されます。 次のコードは、ダイアログ MYDLG
のコードの一部で、その後このダイアログをビットマップコントロールに割り当てる方法を示しています。
DEFINE DATA LOCAL 01 #BM-1 HANDLE OF BITMAP ... END-DEFINE * (Creation of the Bitmap control omitted.) ... #BM-1.BITMAP-FILE-NAME := "MYPICTURE.BMP" ...
ビットマップを共有リソースとして使用する利点は次のとおりです。
パス名を指定しなくても Natural ダイアログにファイル名を指定できます。
ファイルは、ファイルを使用する Natural オブジェクトとともに Natural ライブラリに保持できます。
注意:
以前の Natural バージョンでは、Natural 以外のファイルは、通常は環境変数 NATGUI_BMP
で定義されたディレクトリに保管されていました。 この方法を使用する既存のアプリケーションは、これまでと同様に作動します。現在のライブラリで共有リソースファイルが見つからない場合、Natural は常にこのディレクトリを検索するからです。
プライベートリソースは、Natural オブジェクトの一部であるバイナリデータを保存するために Natural によって内部的に使用されます。 この場合のファイルは、ファイル名の拡張子 NR* で認識されます。"*" は Natural オブジェクトのタイプに依存する 1 文字です。 Natural ではプライベートリソースファイルとその内容が自動的に管理されます。 Natural オブジェクトは、最大 1 つのプライベートリソースファイルを持つことができます。
現時点でプライベートリソースファイルを持つのは Natural ダイアログのみです。 このファイルは、ダイアログに定義され、独自のプロパティページで構成される ActiveX コントロールのコンフィグレーションを保存するために使用されます。
ActiveX コントロールの構成方法については、「ダイアログおよびダイアログエレメントの属性ウィンドウ」および「ActiveX コントロールプロパティページ」を参照してください。
ダイアログ MYDLG
のプライベートリソースファイルの名前は MYDLG.NR3 になります。
ダイアログの作成、修正、削除などが行われると、Natural では必要に応じてこのファイルが自動的に作成、修正、削除されます。
プライベートリソースファイルは、ダイアログ MYDLG
に関連するバイナリデータを保存するために使用されます。
ライブラリ SYSEXT
には次のアプリケーションプログラミングインターフェイス(API)が存在し、ユーザーアプリケーションはこれを使用してリソース独自のユーザー出口ルーチンにアクセスできます。
API | 目的 |
---|---|
USR4208N |
ショートネームまたはロングネームを使用して、リソースの書き込み、読み取り、削除を行います。 |