library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


日本語 HP DECwindows Motif for OpenVMS

日本語 HP DECwindows Motif
for OpenVMS
リリース・ノート


前へ 次へ 目次 索引


4.6.4 XOpenDisplay で Pending Wake 状態が発生する問題の解決(Alpha のみ)

V1.5

XOpenDisplay の最初の呼び出しで,プロセスにおける pending wake 状態が発生し次の LIB$WAIT あるいは SYS$WAKE 呼び出しがすぐに終了するという問題は解決されました。

4.6.5 イベント・フラグ番号 63 の状態が保管なしに変更されてしまう問題の解決 (Alpha のみ)

V1.5

イベント・フラグ番号 (EFN) 63 の状態を,最初に保管することなく,変更してしまうという DECwindows Motif の問題は解決されています。この問題は, DECwindows Motif for OpenVMS Alpha Version 1.3 以上が動作するシステム上のサーバからのディスプレイのオープン,データの書き込み (サーバへの転送キューに空きがない場合),およびデータの読み取りの際に発生していました。

4.6.6 Xpoll.h ヘッダ・ファイルと ConnectionNumber マクロの制限

V1.5

現在のバージョンの Xpoll.h ヘッダ・ファイルは, DECW$LCN_SELECT へのインタフェースを実現します。このインタフェースは,select 関数の C ランタイム・ライブラリ (CRTL) 定義との互換性はありません。特に DECW$LCN_SELECT は,スレッドが初期化されていない場合の ConnectionNumber ディスプレイ・マクロのサポートを実装していません。

アプリケーションで Xpoll.h および ConnectionNumber マクロを使用している場合は,問題の発生を避けるために次のように変更することをお勧めします。


#include <X11/Xlib.h> 
#define DECW$LCNConnectionNumber(dpy) ((_XDisplayPriv)dpy->fd) 

4.6.7 接続障害エラー・メッセージのレコード形式の変更

V1.3--1

接続要求が拒否されると,X ディスプレイ・サーバは情報メッセージを生成し,Xlib はそのメッセージを stderr に出力します。以前のバージョンでは,出力されるメッセージはレコードごとに 1 文字の形式でした。この出力形式は変更され,メッセージ全体が 1 つのレコードとして渡されるようになりました。

この変更は,レコード単位で記録されるエラー・メッセージ・ファイルでのみ明らかになります。たとえば,HP Digital Test Manager (DTM) で生成されたメッセージ・ファイルでは,変更された形式を確認できます。

4.6.8 廃止されたエントリ・ポイントと変更されたエントリ・ポイント

V1.3

次のサポートされない Xlib エントリ・ポイントは, DECW$XLIBSHR イメージから削除されました。

XCMSCIELAB_VALIDSPEC
XCMSCIELUV_VALIDSPEC
XCMSCIEUVY_VALIDSPEC
XCMSCIEXYY_VALIDSPEC
XCMSCIEXYZ_VALIDSPEC
XCMSLRGB_RGBI_PARSESTRING
XCMSLRGB_RGB_PARSESTRING
XCMSTEKHVC_VALIDSPEC

また,次のファイルは廃止予定になっており, OpenVMS の今後のリリースで削除されます。

これらの関数を使用しているアプリケーションは,変更が必要です。

4.6.9 XConnectionNumber と ConnectionNumber の意味の変更

V1.3

DECwindows Motif Version 1.3 以降のシステムでは, XConnectionNumber 関数と ConnectionNumber マクロの意味が変更されました。

以前のバージョンの DECwindows Motif では,この関数とマクロのどちらも,イベント・フラグ番号 (EFN) を返していました。次のように一般的な方法で実装されている呼び出しでは,イベント・フラグは入力を受け取った時点で設定されました。


sys$clref (ConnectionNumber (dpy)); 
  while (XPending (dpy) != 0) XNextEvent (dpy); 
  sys$waitfr (ConnectionNumber (dpy)); 

DECwindows Motif Version 1.3 では, XInitThreads の呼び出しによってマルチスレッドのサポートが有効になったときの,この関数やマクロの動作が変更されました。マルチスレッドが有効になっている場合は,この関数やマクロは論理接続番号 (LCN) を返すようになりました。

LCN は,サーバからの入力が存在する場合,読み取り設定状態にあります。 LCN は,すべての出力バッファが使用中でなければ,書き込み設定状態にあります。これ以外の状態は,弊社で使用するために予約されています。

EFN の代りに LCN を使用するには,上記の実装を,次のように変更します。


  int readState; 
while (XPending (dpy) != 0) XNextEvent (dpy); 
  decw$lcn_select_one (ConnectionNumber (dpy), &readState); 

LCN 状態はサーバからの入力を反映し,応答の処理中にキューイングされたイベントは含まないため,イベント・キューが空になった後に select 呼び出しを行わなければなりません。

DECW_CONNECTIONNUMBER_IS_LCN マクロに true (1) を設定して XLIB.H をインクルードすることによって, ConnectionNumber マクロが LCN 値 (常に利用可能) を取得するように強制できます。例を次に示します。


#define DECW_CONNECTIONNUMBER_IS_LCN 1 
#include <X11/Xlib.h> 
. 
. 
. 

これは,スレッドが初期化されているかどうかにかかわらず同様に機能しなければならない共有イメージやオブジェクト・ライブラリでこのマクロを使用する場合に便利です。

LCN インタフェースの詳細については, 『HP DECwindows Motif for OpenVMS Alpha New Features』 を参照してください。

4.6.10 OpenVMS システムでのロケールのサポート

V1.2--4

DECwindows Motif V1.2-4 for OpenVMS で提供されるロケール・サポートは, DEC C ランタイム・ライブラリでのロケール・サポートと互換性があります。このロケール環境で,これらの関数を使用して国際化アプリケーションを作成する場合は,次の手順に従ってください。

4.6.11 XSelectAsyncEvent ルーチンと XSelectAsyncInput ルーチン

V1.1

XSelectAsyncEvent ルーチンと XSelectAsyncInput ルーチンは, AST 引き渡し情報記憶用のメモリを割り当てます。このメモリは次のいくつかの方法で解放されます。

サブウィンドウ用の AST 引き渡し情報は, XDestroyWindow によっては解放されません。

所定のウィンドウ内のすべてのイベント・タイプの AST 通知をオフにし, AST 引き渡し情報も解放したいときには,クライアント・アプリケーションは, event_mask 引数に -1 (全ビット・セット) を指定し, ast_routine 引数に 0 を指定して XSelectAsyncEvent ルーチンあるいは XSelectAsyncInput ルーチンを呼び出してください。

注意

DECwindows Motif for OpenVMS Alpha Version 1.3 以上を実行しているシステムでは, XInitThreads への呼び出しによってマルチスレッド処理が有効になっている場合, XSelectAsyncInput および XSelectAsyncEvents はサポートされません。同等の機能は,スレッド対応 Xlib 関数を使用することによって提供されます。

マルチスレッド環境におけるこれらの関数の使用についての詳細は 『HP DECwindows Motif for OpenVMS Alpha New Features』 を参照してください。

4.6.12 コマンド・プロシージャが .PEN ファイルを作成

V1.0

Pascal プログラムが Xlib 用と Motif 用の環境ファイルを利用できるように, SYS$LIBRARY:DECW$PEN_BUILD.COM コマンド・プロシージャを実行する必要があります。このコマンド・プロシージャは, DECW $XLIBDEF.PEN ファイルと DECW$MOTIF.PEN ファイルを生成します。 Pascal プログラムへのコンパイルには,提供されている .PAS ファイルよりも .PEN ファイルの方が高速となります。

4.6.13 パラメータ/プロトコルのデータ・サイズの不適合

V1.0

いくつかの Xlib ルーチンはロングワードのパラメータを受け付けますが,サーバへ送信される X プロトコル・メッセージにはその全体は含められません。それぞれの場合で,Xlib ルーチンは,パラメータ値の最下位 16 ビットのみを送出します。これは,X プロトコル・メッセージ内のフィールド・サイズにより受ける制約です。

表 4-4 は, 16 ビット値としてのみ送出されるルーチンの名前とロングワード引数のリストです。

表 4-4 16 ビット値としてのみ送出されるルーチンの名前と引数
ルーチン名 引数
XAllocColorCells/ALLOC_COLOR_CELLS nplanes,npixels
XDrawArc/DRAW_ARC x,y,width,height, angle1,angle2
XDrawLine/DRAW_LINE x1,x2,x3,x4
XDrawPoint/DRAW_POINT x,y
XDrawRectangle/DRAW_RECTANGLE x,y,width,height
XDrawString/DRAW_STRING x,y
XDrawString16/DRAW_STRING16 x,y
XDrawText/DRAW_TEXT x,y
XDrawText16/DRAW_TEXT16 x,y
XFillArc/FILL_ARC x,y,width, height,angle1,angle2
XFillRectangle/FILL_RECTANGLE x,y,width,height

4.7 X Window System 拡張とプロトコル

この節では, DECwindows Motif 用 X Window System 拡張について説明します。

4.7.1 XINERAMA での XCopyArea の使用

V1.3--1

グラフィック・エクスポーズ・イベントは XCopyArea 要求に対して生成されるようになりました。 XCopyArea 関数を呼び出すプログラムでは,要求で使用される gc で常にグラフィック・エクスポーズを有効にしておく必要があります。

4.7.2 XINERAMA が VisibilityNotify を正しく報告しない問題

V1.3--1

XINERAMA を使用するマルチヘッド・システムでアプリケーションが表示を行う場合, VisibilityNotify イベントはウィンドウの状態を正しく報告しません。ウィンドウが表示され VisibilityNotify が選択されている場合,ウィンドウの状態は Unobscured として報告されますが,実際のウィンドウの状態は Unobscured または PartiallyObscured である可能性があります。この問題を回避するには, VisibilityNotify イベントを PartiallyObscured として扱うようにアプリケーションを変更してください。

ウィンドウが表示されると,それ以上表示に関するイベントは報告されません。たとえば, VisibilityNotifyが選択されているウィンドウが他のウィンドウの下に隠れた場合, FullyObscuredであることを示すイベントを報告する必要がありますが,このイベントは送信されません。

4.7.3 EVI 拡張とカラーマップの競合

V1.3

EVI (Extended Visual Information) 拡張を使用して利用可能なビジュアルの情報を要求する場合, DECwindows X11 ディスプレイ・サーバはカラーマップの競合情報を返しません。返されるデータは,競合が存在する場合でも,カラーマップの競合は存在しないと示します。

4.7.4 Dead Mouse のサポート

V1.3

以前は AccessX 拡張で利用可能だった Dead Mouse 機能が, X キーボード拡張 (XKB) で利用可能な機能サブセットに組み込まれました。この機能は,Mouse Keys と呼ばれます。

DECwindows Motif の以前のバージョンでは Dead Mouse機能は X サーバの一部でもあったため, XKB 拡張が有効になっていなくてもこれらの機能は利用できます。

4.7.5 AccessX 拡張のサポート終了

V1.3

AccessX キーボード拡張のサポートが削除されました。この拡張のすべての機能 (スティッキ・キーなど) は, X キーボード拡張 (XKB) で利用できます。 XKB の詳細については,『HP DECwindows Motif forOpenVMS New Features』を参照してください。

4.7.6 セキュリティおよびアプリケーション・グループの拡張でグループがチェックされない問題

V1.3

セキュリティ (SECURITY) 拡張とアプリケーション・グループ (XC-APPGROUP) 拡張では,グループのチェックは実行されません。グループ ID を XSecurityGenerateAuthorization に渡すことはできますが,この ID はチェックされません。グループ ID が何であっても,承認されます。

4.7.7 オープン中の ICE 接続からの watch プロシージャの削除

V1.3

ICE 接続がオープン状態の間は, ICE の watch プロシージャを削除しないでください。オープン中の接続に watch プロシージャがメモリを割り当てていた場合,このプロシージャを削除すると watch プロシージャへのコールバックが適切に行われないため,メモリを解放することができません。

4.7.8 ICE 使用時の BAD_LOCAL_NODE エラー

V1.3

DECwindows Motif で実装していたオリジナルのトランスポートでは,ネットワーク・トランスポートとして LOCAL を使用した場合に,ノード指定を無視していました。 ICE プロトコルでは,ノード名は必ず,値 0 か,システム名からなる文字列でなければなりません。 ICE は LOCAL トランスポートを使用するため, ICE がノード指定をチェックしようとしたときに, BAD_LOCAL_NODE 警告メッセージが表示されます。

4.7.9 SmsGenerateClientId が ID を生成しない

V1.3

DECnet アドレスと TCP/IP アドレスのどちらも割り当てられていないシステムでは, XSMP 要求の SmsGenerateClientId はクライアント ID を生成できません。

4.7.10 拡張includeファイルの使用法

V1.2

拡張 include ファイルを含むプログラムを正しくコンパイルするためには, C の include ディレクトリ検索リストに論理名 DECW$INCLUDE を追加してください。この論理名を追加するには,次のコマンドを入力します。


$ DEFINE DECC$USER_INCLUDE DECW$INCLUDE

4.8 X Window System 国際化ライブラリ (Xnl)

この節では,XNL ライブラリについて説明します。

4.8.1 xnl_parsedatetime

V1.2--5

xnl_parsedatetime (およびそのVAXバインディング,XNL$PARSE_DATE_ TIME) は,入力の引数 XmString s (構文解析される日付時刻) に 2桁または4桁の年数を受け付けます。 2桁形式での有効な年数の値は70〜99の範囲で,1970〜1999年を意味します。値00〜69は無効です。 2000年以降は4桁形式が必須です。

4.8.2 xnl_langinfo

V1.2--5

xnl_langinfo (およびそのVAXバインディング,XNL$LANGINFO)は, item 引数にD_FMTまたはD_T_FMTを指定すると,日付時刻フォーマッティング用の文字列を返します。下記のロケールで,この関数は%yを含むフォーマッティング文字列を返します。 %yは2桁年数形式を意味するので,このフォーマッティング文字列は2000年以降は慎重に使用する必要があります。

4.9 トランスポート・プログラミング

この節では,トランスポート・インタフェースの情報について説明します。

4.9.1 ユーザ作成トランスポートのサポートの終了

V1.3

DECwindows Motif Version 1.3 では, ICE (Inter-Client Exchange) プロトコル, LBX (Low-Bandwidth X) プロキシ・サーバ,および入力メソッド・サーバの通信要件およびマルチスレッドに対応するために, DECwindows Motif トランスポート・ライブラリが大幅に変更されました。特に,サーバ接続に番号を割り当てる代替の方法が追加されました (『 『HP DECwindows Motif for OpenVMS Alpha New Features』 』を参照)。外部用として公開されるトランスポート関連機能は,論理接続番号 (LCN) インタフェースのサポートだけです。

DECnet,TCP/IP,LAT,およびローカル・ネットワーク・トランスポート・インタフェースはアップデートされており, DECwindows Motif V1.3 以降の環境でも引き続き利用でき,期待どおりに機能し,以前のバージョンのクライアント・ライブラリとの互換性もあります。しかし,以前のバージョンの DECwindows Motif 用に構築された,ユーザ作成のカスタム・トランスポートは, DECwindows Motif V1.3 以降のシステムではサポートされません。次のファイルに対して構築され,リンクされたトランスポートがこれに該当します。

SYS$LIBRARY:DECW$XPORTCOM.H
SYS$LIBRARY:DECW$XPORTCOM.MAR
SYS$LIBRARY:DECW$XPORTCOM.R32
SYS$LIBRARY:DECW$XPORTDEF.H
SYS$LIBRARY:DECW$XPORTDEF.MAR
SYS$LIBRARY:DECW$XPORTDEF.R32

これらのファイルはキットから削除されており,今後は提供されません。『『VMS DECwindows Transport Manual』』はアーカイブ化され,新しいライブラリについては,ドキュメントに記載されず,一般には提供されません。

カスタム・トランスポートを実装していて,このトランスポートを DECwindows Motif for OpenVMS Alpha Version 1.3 以降の環境に移行する場合は,移行計画の策定について弊社のカスタマ担当者にご相談ください。


前へ 次へ 目次 索引