画面・帳票サポートシステム XMAP3 開発・実行ガイド

[目次][用語][索引][前へ][次へ]

8.2.2 マップパスの指定とマップの常駐化

マップの定義体(画面と帳票では物理マップ,書式オーバレイでは書式イメージファイルおよび行制御データファイルを指す)を格納しているフォルダのパスの指定,およびマップの定義体をXMAP3のマッピングライブラリに常駐させる指定ができます。ユーザ環境に合わせてチューニングすることによって,AP実行時の処理速度を向上できます。

<この項の構成>
(1) マップパス(MapPath="パス名")
(2) 物理マップの常駐化(PoolSize=バイト数)

(1) マップパスMapPath="パス名"

マップの定義体があるフォルダのパス(マップパス)を表示・印刷セットアップで指定しておくことで,AP実行時,必要な定義体が指定したパスから検索されます。定義体を格納するフォルダが一定であれば,それを指定しておくことによって検索時間が短縮されるため,指定しない場合に比べて性能が向上します。

表示・印刷セットアップでは,実行時にマップの定義体をカレントフォルダから検索するか,任意のフォルダを指定してそのフォルダから検索するかを設定します。

この設定内容は,AP環境ファイル(X3MWDRV)の該当項目に反映されます。

なお,OpenTP1(TP1/MCF)連携時には,表示・印刷セットアップでのマップパスの指定は無効になります。OpenTP1(TP1/MCF)連携時のマップパスについては,マッピングサービス属性定義ファイルのMAPPATHで指定してください。

(a) 検索したマップパスに定義体が存在しない場合

AP実行時,指定したマップパスのフォルダに目的の定義体が存在しない場合,次の順序で検索されます。

  1. 実行中のAP(.EXE)のフォルダ
  2. カレントフォルダ
  3. Windowsのシステムフォルダ
  4. Windowsのフォルダ
  5. path環境変数で登録されているフォルダ
(b) マップパスの制限値

マップパスに指定できるパスの長さは259バイトまでです。ただし,XMAP3で扱えるマップの定義体のフルパスも259バイトまでです。そのため,表示・印刷セットアップにマップパスを指定するときは,マップの定義体のファイル名などを考慮した長さにする必要があります。実際にマップパスに指定できるパスの長さの求め方を,次に示します。

なお,使用するOSによって,エクスプローラで作成できるパスの長さが異なります。OSの仕様範囲に従ってパスを指定してください。

注※
マップ名の長さの指定とデバイスIDについては,マニュアル「XMAP3 プログラミングガイド 画面編」またはマニュアル「XMAP3 プログラミングガイド 帳票編」を参照してください。

(2) 物理マップの常駐化PoolSize=バイト数

物理マップをXMAP3のマッピングライブラリに常駐しておくことで,画面表示の応答時間の短縮が期待できます。マッピングライブラリは,APからマップ名を受け取ります。このマッピングライブラリとマップを読み込む(ロードする)時間を減らすことで応答時間を短縮しようとするものです。

この設定内容は,AP環境ファイル(X3MWDRV)の該当項目に反映されます。

なお,OpenTP1(TP1/MCF)連携時には,表示・印刷セットアップでの物理マップの常駐サイズの指定は無効になります。OpenTP1(TP1/MCF)連携時の物理マップの常駐については,マッピングサービス属性定義ファイルのPOOLSIZで指定してください。

(a) 物理マップのメモリ常駐化とエリアサイズ

ロード回数を軽減するために,「マップ常駐サイズ」に物理マップの常駐化エリアのサイズを指定します。サイズはキロバイト単位で指定します。標準値は,32KBになっていますので,物理マップを常駐させるエリアのサイズを変更する場合だけ,指定を変更してください。

1KB~2,048KBの範囲で指定値を変更できます。

(b) 物理マップの常駐化の仕組み

XMAP3のマッピングライブラリの常駐化機能を使って,次のように物理マップを管理します。

APから物理マップのロード要求があると常駐エリア中の物理マップを検索し,常駐されていれば,そのマップを利用します。常駐されていない場合は,マッピングライブラリ環境定義ファイルに指定したパスで物理マップが検索され,物理マップが見つかればそのファイルサイズを求め,常駐エリアを割り当てて物理マップファイルを入力します。このパスに物理マップがない場合は,カレントフォルダが検索されます。

物理マップを,常駐エリアの空き領域エリアにロードします。空きエリアが確保できない場合は,常駐エリアにある,いちばん古い物理マップを削除してロードします。ただし,物理マップのサイズが常駐エリアより大きい場合は,XMAP3がエリアを確保します。したがって,メモリの節約のために,常駐エリアのサイズを物理マップのサイズより大きく設定しておいてください。

なお,メモリやほかのAPの実行のために,このエリアがスワップアウトされて効果がない場合もあります。