前へ | 次へ | 目次 | 索引 |
この付録では,OSF/Motif ツールキットに関連する注意事項,制限事項,修正点について説明します。
B.1 OSF/Motif リリース 1.2.2 と X11 R5 の共有可能ライブラリ
OSF/Motif リリース 1.2.2 ツールキットと OSF/Motif リリース 1.1.3 ツールキットの間にはバイナリ互換性がありません。アプリケーションはどちらか別々のツールキットでリンクする必要があります。 OSF/Motif リリース 1.2.2のアプリケーションのリンクには, OSF/Motif 1.2.2 および X11 R5 をベースとする共有可能ライブラリしか使用できません。また,OSF/Motif リリース 1.1.3のアプリケーションのリンクには, OSF/Motif 1.1.3 および X11 R4 をベースにする共有可能ライブラリしか使用できません。
OSF/Motif リリース 1.2.2 をベースにする共有ライブラリと OSF/Motif リリース1.1.3 をベースにする共有可能ライブラリの両方のライブラリを提供するために,リリース 1.1.3をベースにするライブラリには DECwindows Motif バージョン 1.1と同じファイル名が,リリース1.2.2をベースにするライブラリには後ろに "R5"または "12"の付くファイル名が使用されています。
OSF/Motif リリース 1.1.3ツールキットまたは OSF/Motif リリース 1.2.2 ツールキットとともに使用される共有可能ライブラリのファイル名には,接尾辞は付きません。このようなライブラリには,次のものがあります。
V1.2--6
Xt ツールキットリリース 5 (R5)とリンクされた共有可能ライブラリには, "R5"の接尾辞が付きます。 XUI ツールキットをベースにするライブラリには R5 に相当するライブラリがなく, X11 R5 または OSF/Motif リリース 1.2.2 をベースにしたリンカ・オプション・ファイルに含めることはできません。これらのファイル名については 表 B-1 を参照してください。
DECW$XLIBSHR.EXE ファイルは Xlib の MIT リリース 5 バージョンであり, MIT リリース 4 バージョンの Xlib ではありません。 |
R4 準拠ファイル名 | R5 準拠ファイル名 |
---|---|
DECW$DWTLIBSHR.EXE | (なし) |
DECW$DWTSHR.EXE | (なし) |
DECW$XMULIBSHR.EXE | DECW$XMULIBSHRR5.EXE |
DECW$XTRAPLIBSHR.EXE | DECW$XTRAPLIBSHRR5.EXE |
DECW$XTSHR.EXE | DECW$XTLIBSHRR5.EXE |
リリース 5 では DECW$DWTLIBSHR.EXE または DECW$DWTSHR.EXEに相当するファイルは用意されていません。リリース 5 用に作成されたアプリケーションは,これらのファイルとリンクすることはできません。
OSF/Motif リリース 1.2.2 とリンクされた共有可能ライブラリには, "12"の接尾辞が付きます。これらのファイルは R5 および OSF/Motif リリース 1.2.2 と互換性のあるライブラリだけにリンクされる必要があります。これらのファイル名については, 表 B-2 の一覧を参照してください。
リリース 1.1.3準拠ファイル名 | リリース 1.2.2準拠ファイル名 |
---|---|
DDIF$VIEWSHR.EXE | DDIF$VIEWSHR12.EXE |
DECW$BKRSHR.EXE | DECW$BKRSHR12.EXE |
DECW$DXMLIBSHR.EXE | DECW$DXMLIBSHR12.EXE |
DECW$MAILSHR.EXE | DECW$MAILSHR12.EXE |
(なし) | DECW$MRMLIBSHR12.EXE |
DECW$PRINTWGTSHR.EXE | (なし) |
DECW$TERMINALSHR.EXE | DECW$TERMINALSHR12.EXE |
DECW$XMLIBSHR.EXE | DECW$XMLIBSHR12.EXE |
DGIT$LIBSHR.EXE | DGIT$LIBSHR12.EXE |
IMG$SHRLIB.EXE | IMG$SHRLIB12.EXE |
LWK$DXMSHR.EXE | LWK$DXMSHR12.EXE |
XNL$SHR.EXE | XNL$SHR12.EXE |
DECW$PRINTWGTSHR12.EXE ファイルはありません。プリント・ウィジェットは DECW$DXMLIBSHR12.EXE ファイルの一部です。
DECW$MRMLIBSHR12.EXE ファイルは,以前にはDECW$XMLIBSHR.EXEの一部であった Motif Resource Manager (Mrm)ルーチンを含む新しいイメージです。 OSF/Motif リリース 1.2.2 をベースにして, .UIDファイルにアクセスするために Mrmルーチンを呼び出すプログラムはすべて,このライブラリとリンクする必要があります。
たとえば,OSF/Motifリリース 1.1.3をベースにする典型的なリンカ・オプション・ファイルは,次のようなものです。
SYS$SHARE:DECW$XLIBSHR/SHARE SYS$SHARE:DECW$XTSHR/SHARE SYS$SHARE:DECW$DWTLIBSHR/SHARE SYS$SHARE:DECW$XMLIBSHR/SHARE SYS$SHARE:DECW$DXMLIBSHR/SHARE |
このプログラムを OSF/Motif リリース 1.2.2 とリンクするには,リンカ・オプション・ファイルを次のように変更します。
SYS$SHARE:DECW$XLIBSHR/SHARE SYS$SHARE:DECW$XTLIBSHRR5/SHARE SYS$SHARE:DECW$XMLIBSHR12/SHARE SYS$SHARE:DECW$MRMLIBSHR12/SHARE SYS$SHARE:DECW$DXMLIBSHR12/SHARE |
このように変更することで,XUI ツールキット (DECW$DWTLIBSHR.EXE)を参照せず,また,Motif リソース・マネージャ(DECW$MRMLIBSHR12.EXE)とリンクします。
B.2 OSF/Motif リリース 1.1.3 プログラミング・サポートとXUI
V1.2
日本語 DECwindows Motif for OpenVMS V1.2 ソフトウェアに付いてくる X ウィンドウと OSF/Motif ライブラリは,以前のバージョンで配布されたものとは互換性がありません。ランタイムの互換性は維持されていますが,プログラミング環境には互換性はありません。
DECwindows Motifの旧バージョンで提供されていた XUIあるいはMotif リリース 1.1.3のプログラミング環境は,日本語 DECwindows Motif for OpenVMS V1.2 ではサポートされていません。しかし,インストレーションの際にすでに使用しているシステムに入っているプログラミング・ファイルを保管するオプションがあります。既存のプログラミング・ファイルの保管を選択する場合,これらのファイルはサブディレクトリに移され,プログラミングを行う際にアクセスすることができます。具体的にいうと,インストレーションの過程で, 表 B-3 の表に記載された各ディレクトリに [.DECW$113]というサブディレクトリが作成されて,既存のファイルをこの新しいサブディレクトリに移動します。
既存のプログラミング・ファイルの保管についての詳細は,『日本語 DECwindows Motif for OpenVMS インストレーション・ガイド』を参照してください。
ディレクトリ | 内容 | 新しい位置 |
---|---|---|
DECW$INCLUDE | C ヘッダ・ファイル | SYS$SYSROOT:[DECW$INCLUDE.DECW$113] |
SYS$SYSTEM | UIL コンパイラ | SYS$SYSROOT:[SYSEXE.DECW$113] |
SYS$LIBRARY | 非 C 言語バインディング | SYS$SYSROOT:[SYSLIB.DECW$113] |
これらのファイルを使用してプログラミングを行うには,新しい[.DECW$113]サブディレクトリを各論理名の検索パスに含めます。次の例を参照してください。
$ SHOW LOGICAL DECW$INCLUDE "DECW$INCLUDE" = "SYS$SYSROOT:[DECW$INCLUDE]" (DECW$LOGICAL_NAMES) = "SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS]" $ DEFINE/EXECUTIVE/TABLE=DECW$LOGICAL_NAMES DECW$INCLUDE - SYS$SYSROOT:[DECW$INCLUDE.DECW$113], - SYS$SYSROOT:[DECW$INCLUDE], - SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS] |
今回のリリースで更新されたファイルには, [.DECW$113]サブディレクトリに移されたファイルと同じ名前を持っているものも多くあります。したがって,まず検索リストに新しいサブディレクトリ[.DECW$113]を入れます。これによって[.DECW$113]の中のファイルをソフトウェア開発用に使用することができます。
SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COMのコマンド・プロシージャで DECW$INCLUDE が再定義された場合は,それに従って上記の指示を変更してください。
XUI または OSF/Motif リリース 1.1.3 で UIL コンパイラを使用するには,次のようにします。
define type trace_keywords keyword tokens keyword symbols define type warning_keywords keyword nowarnings keyword noinformationals define type version_keywords keyword V1, syntax=xui_uil keyword V2, syntax=xui_uil, default keyword MOTIF11, syntax=motif_uil define syntax xui_uil image decw$uilcompiler define syntax motif_uil image decw$uilmotif define verb uil image decw$uilcompiler parameter p1, label=source_file, prompt="File", value(required,noconcatenate,type=$infile) qualifier trace, label=trace_qual, value(list,noconcatenate,type=trace_keywords), nonnegatable qualifier warnings, label=warnings_qual, value(list,noconcatenate,type=warning_keywords) qualifier list, label=listing_file, batch, value(type=$outfile) qualifier machine, label=machine_qual, qualifier output, label=resource_file, default, value(type=$outfile) qualifier version, label=version_qual, default, value(type=version_keywords), nonnegatable qualifier XUI, default, nonnegatable, syntax=xui_uil qualifier MOTIF, nonnegatable, syntax=motif_uil qualifier widget_meta_description, label=widget_qual, value(required, noconcatenate, type=$infile) disallow XUI and MOTIF |
$ SET COMMAND SYS$SYSROOT:[SYSEXE.DECW$113]DECW$UILCOMPILER.CLD |
UIL コマンドの定義を前の状態に戻すには,次のコマンドを実行します。
|
この節では,DECwindows OSF/Motif ツールキットの注意,制限,チューニングなどに関する事項を説明します。
B.3.1 呼び出し可能 OSF/Motif UIL コンパイラ (Alpha のみ)
OSF/Motif リリース 1.2.2 Toolkit には,呼び出し可能 UIL (User Interface Language) コンパイラが含まれています。現在では,リンク・オプションに次の1 行を含めると,このイメージに対してリンクすることができます。
SYS$SHARE:DECW$UILSHR/SHARE |
呼び出し可能インタフェースについての詳細は, Prentice Hall から出版されている『OSF/Motif Programmer's Guide』を参照してください。
B.3.2 Motif テキスト・ウィジェットの変換
仮想バインディングを実現するには,弊社が省略時のXmText および XmTextField の変換マネージャ構文を変更する必要がありました。特に,次の設定が削除されています。
Shift ~Ctrl ~Meta ~Alt <Key>osfDelete: cut-clipboard() |
osfCut仮想keysymがバインドされていない仮想バインディングを使用すると,省略時の設定で,cut-clipboard 動作のキー・シーケンスはバインドされません。この制約に対処するには, DECW$XDEFAULTS.DATファイルでXmTextおよびXmTextField のトランスレーションをオーバーライドしてください。
B.3.3 上位互換性
DECW$DWTLIBSHR,DECW$DWTSHR,DECW$XTSHRの各共有可能イメージの組み合わせは,以前のDECW$DWTLIBSHR共有可能イメージとの,バイナリで上位互換性があるようになっています。例外と考えられるのは, LIB$ FIND_IMAGE_SYMBOLを使用してイメージDECW$DWTLIBSHRを動的に起動するアプリケーションです。動的なイメージの起動の問題は,固有のセマンティクスが X ツールキット・イントリンシック・リリース 3 から, MIT X11 リリース 4 になるときに大幅に変わっていることです。以前リンクされたXUIアプリケーションは, X ツールキット・リリース 3 の固有のセマンティクスを使用する XUI転送ベクトルのエントリを通じて呼び出しを行います。ただし,そのアプリケーションが再リンクされる (または動的にDECW$DWTLIBSHRを起動する)とすぐに, MIT X ツールキット・イントリンシック・リリース 4 固有のセマンティクスを使用します。
動的にDECW$DWTLIBSHRを起動するアプリケーションは, DECW$DWTLIBSHRに対して直接にリンクするように変更する必要があります。 DECW$DWTLIBSHR は現在は小型薄層の共有可能イメージとなり,必要なときだけツールキットの大部分のコードを自動的に動的に起動します。このためアプリケーションがDECW$DWTLIBSHRを動的に起動し続けることはありません。
今後弊社では,ツールキット共有可能イメージを動的に起動するアプリケーションに対するバイナリで上位互換性を保証できません。 DECwindows ツールキット(XUI と Motif)は,弊社の管轄外の基準に基づいています。この基準に互換性のない変更が行われた場合は,弊社はそれに従うようツールキットを変更します。ただし,現在の実行可能イメージが変わらずに実行されるようにコードを追加していく意向です。
B.3.3.1 Motif ウィジェットと XUI ウィジェットの混合に関する制約
MotifウィジェットとXUIのウィジェットの混合には制限があります。問題の原因は, XUIとMotifの両方がそれぞれ独自のVendor Shell ウィジェット・クラスを持っていることにあります。アプリケーションがMotifではなくXUIに対してリンクされると, XUI Vendor Shell ウィジェット・クラスが, DECwindows XUIとの互換性を保つために使用されます。アプリケーションがMotifに対してリンクされたときは, Motif Vendor Shell ウィジェット・クラス使用されます。 Motif ウィジェットはMotif Vendor Shellを必要とし, XUI ウィジェットはMotif Vendor Shellとの互換性があります。問題が発生するのは, XUI専用アプリケーションがMotifを使用する共有可能イメージを (LIB$FIND_IMAGE_SYMBOLを使用して)動的に起動したときです。ツールキットが初期化されたときに,動的に起動された共有可能イメージでMotif ウィジェットが動かない場合は,ツールキットは XUI Vendor Shellを使用するよう決定します。
この問題に対処するには,アプリケーション・イメージ名をDECW$USE_XM_VENDOR_SHELL論理名に加える方法があります。この論理名には,ツールキットがMotif Vendor Shellを使用するイメージ名を,コンマで区切って並べてあります。 DECW$USE_XM_VENDOR_SHELL 論理名の値は省略時の設定でNOTES$MAINとなっています。さらにイメージ名をこの論理名に追加するには,次のコマンドを入力します。
$ DEFINE DECW$USE_XM_VENDOR_SHELL "NOTES$MAIN,- _$ yourimage1,yourimage2,..." |
Motifを使用するアプリケーションは,すでにMotif Vendor Shellを使用しているため, DECW$USE_XM_VENDOR_SHELLの影響は受けないことに注意してください。
前へ | 次へ | 目次 | 索引 |