_日本語DECforms_______________________________ リリース・ノート AA-PML8D-TE 1995年12月 本書では,日本語DECformsバージョン2.1Aのソフトウェ アとドキュメンテーションに関する,すべての既知の制 約,修正および追加事項について説明します。 オペレーティング・システム: 日本語OpenVMSバージョ ン6.1以降 ソフトウェア・バージョン: 日本語DECformsバージ ョン2.1A 日本ディジタル イクイップメント株式会社 __________________________________________________________ 1995年12月 本書の著作権は日本ディジタルイクイップメント株式会社(日本 DEC)が保有しており,本書中の解説および図,表は日本DECの文 書による許可なしに,その全体または一部を,いかなる場合にも 再版あるいは複製することを禁じます。 また,本書に記載されている事項は,予告なく変更されることが ありますので,あらかじめご承知おきください。万一,本書の記 述に誤りがあった場合でも,日本DECは一切その責任を負いかね ます。 本書で解説するソフトウェア(対象ソフトウェア)は,所定のライ センス契約が締結された場合に限り,その使用あるいは複製が許 可されます。 日本DECは,日本DECまたは日本DECの指定する会社から納入され た機器以外の機器で対象ソフトウェアを使用した場合,その性能 あるいは信頼性について一切責任を負いかねます。 (c) Digital Equipment Corporation Japan 1995. All right Reserved. Printed in Singapore. 下記は米国Digital Equipment Corporationの商標です。 ACMS, ULTRIX, VAX, DATATRIEVE, DEC, VMScluster, DEC/CMS, VAX FMS, DEC/MMS, DECforms, VMS, DECintact, VT, DECnet RSTS, ReGIS, Work Processor, DECUS, DISBOL, DIGITAL, TDMS。 製品名変更に関するお知らせ この度、Oracle株式会社が、DECtraceとCDD/Plusの製品をディジ タルイクイップメント株式会社より購入することになり、現在、 DECtraceはOracle TRACE[TM]、CDD/PlusはOracle CDD[TM]と、製 品名が変わりました。しかし、これらの製品の発売は、つい最近 決定したばかりですので、新しい製品名を、ソフトウェアやドキ ュメント上で使用する必要はまだありません。 以下は、他社の商標です。 Motifは、Open Software Foundation, Inc.の登録商標です。 Postscriptは、Adobe Systems Inc.の登録商標です。 Oracle CDD, Oracle/Administrator, Oracle CDD/Repository, Oracle Rdb,そして、Oracle TRACEは皆すべてOracle株式会社の 登録商標です。 本書は,日本語VAX DOCUMENT V 2.1を用いて作成しています。 ________________________________________________________________ 目次 まえがき................................................ vii 1 DECformsバージョン2.1Aに関して 1.1 インストレーション概論...................... 1-1 1.2 本リリースで修正された問題.................. 1-1 1.3 ACMSをご利用のお客様への注意................ 1-2 1.4 DECformsの概要.............................. 1-2 2 DCLコマンド・ラインについて 2.1 新機能...................................... 2-1 2.1.1 FORMS EDIT/INTERFACE.................... 2-1 2.1.2 FORMS CONVERT LAYOUT.................... 2-1 2.1.3 FORMS TRANSLATE/[NO]MEMBER_ALIGNMENT.... 2-2 2.1.4 FORMS TRANSLATE/FLOAT................... 2-2 2.1.5 FORMS TRANSLATE/LIST.................... 2-3 2.1.6 FORMS TRANSLATE/[NO]PAD_RECORDS......... 2-3 3 IFDLトランスレータについて 3.1 本リリースにおけるドキュメント化されていない 新機能....................................... 3-1 3.1.1 フォームファイル・フォーマット.......... 3-1 3.1.2 リストファイル・フォーマットの修正...... 3-2 3.1.3 省略時における精密度の新設定法.......... 3-5 3.1.4 レコードアラインメントの新設定法........ 3-6 3.1.4.1 アルファ版の以前のバージョンとの互換性 ファイル............................... 3-8 3.1.5 レコード・パディング修飾子.............. 3-9 3.1.6 浮動小数点のデータ・タイプ.............. 3-9 iii 3.2 本リリースで修正された問題.................. 3-9 3.3 本リリースにおける制約...................... 3-11 4 DECformsのCとFORTRAN用のポータブル・バインディング 4.1 エラー・メッセージ・ルーチン................ 4-1 4.2 FORTRANのプレースホルダの制約............... 4-2 5 実行時システム(フォーム・マネージャ)について 5.1 新機能...................................... 5-1 5.2 制約........................................ 5-1 5.2.1 一般的な制約............................ 5-1 5.2.2 文字セル・レイアウトの制約.............. 5-5 5.2.3 Motifレイアウトの制約................... 5-6 5.3 Motifレイアウトと文字セル・レイアウトの性能 の違い....................................... 5-9 5.4 本リリースで修正された問題.................. 5-10 5.5 既知の問題.................................. 5-17 5.6 VT400サポート............................... 5-21 5.7 VT500サポート............................... 5-22 6 逆トランスレータについて 6.1 本リリースにおける制約...................... 6-1 7 オブジェクト出力について 7.1 本リリースにおけるドキュメント化されていない  新機能..................................... 7-1 7.1.1 共用フオームと共用手続き型エスケープ・ル ーチンによるアプリケーション作成......... 7-1 7.2 本リリースにおけるバグの修正................ 7-2 iv 8 フォーム開発環境について 8.1 本リリースにおけるバグ修正.................. 8-1 8.2 本リリースにおける制約...................... 8-2 8.3 既知の問題と対処法.......................... 8-3 9 パネル・エディタについて 9.1 本リリースにおける制約...................... 9-1 9.2 本リリースにおけるバグの修正................ 9-1 9.3 対処法がある既知の問題...................... 9-2 10 Motif準拠パネル・エディタについて 10.1 Motif準拠パネル・エディタ................... 10-1 10.2 本リリースにおける制約...................... 10-1 10.3 本リリースで修正されたバグ.................. 10-2 11 LSEサポートについて 11.1 本リリースで修正されたバグ.................. 11-1 11.2 本リリースにおける制約...................... 11-1 12 小切手アプリケーションについて 12.1 本リリースの機能............................ 12-1 12.2 OpenVMSアルファ版用の本リリースでの制約..... 12-1 13 デモンストレーション・フォームについて 13.1 デモ・ガイドの位置.......................... 13-1 13.2 本リリースにおける新機能.................... 13-1 v 14 日本語機能について 14.1 V2.0リリースからの変更点.................... 14-1 14.2 本リリースにおける注意事項.................. 14-1 14.3 本リリースにおける制限事項.................. 14-2 15 実行時メッセージの翻訳(DECforms VMS) 16 FMSコンバータについて 16.1 本リリースにおける新機能.................... 16-1 表 5-1 Motifレイアウトでのプラットフォームが予約 しているキー............................. 5-6 vi ________________________________________________________________ まえがき 本書には,日本語DECformsバージョン2.1A for OpenVMSユーザ用 のリリース・ノートが含まれています。 DECformsバージョン2.1Aは、VAX版とアルファ版ともに同じ機能 を提供します。前回のOpenVMS VAX版およびアルファ版における DECFormsのリリースは、バージョン2.1でした。従って、今回の リリースノートは、V2.1以降の製品の変更をすべて網羅していま す。また、V1.4からV2.1Aへ直接アップグレードしたユーザのた めにV1.4以降の変更についてもカバーしていますが、本書中のイ ンフォーメーションには、DECformsバージョン2.0用のリリース ノートにすでに記載されてたものも、含まれています。 本書はDECの製品を,以下のような省略名で記していることがあ ります。 o 日本語DECformsソフトウェアをDECformsと呼びます。 o 日本語DEC Language-Sensitive EditorソフトウェアをLSE と呼びます。 o 日本語CDD/Repositoryソフトウェアまた、Oracle CDD /RepositoryをCDD/Repositoryと呼びます。 o 日本語ACMSソフトウェアをACMSと呼びます。 対象読者 本書はすべてのDECformsユーザを対象にしています。 vii オペレーティング・システム情報 日本語DECformsバージョン2.1Aは、VAX版あるいはアルファ版日 本語OpenVMSバージョン6.1およびそれ以降のシステムでサポート されています。 ______________________ 注意点 ______________________ 注意:DECformsバージョン2.1Aをアルファ版OpenVMS 6.2におけるACMSと 共に使用している場合は、CMA ECO ALPCMAR01_062がインストールされていることが必要で す。 _____________________________________________________ 他のソフトウェア製品と,本バージョンのDECformsとの互換性に 関する情報については,『ソフトウェア仕様書(SPD)』を参照し てください。SPDにより,本バージョンのDECformsと互換性があ るオペレーティング・システムのバージョンを確認することがで きます。 レイヤード製品の依存関係 日本語DECformsバージョン2.1A for OpenVMSのMotifサポートを 使用するためには,バージョン1.1以降のMotif環境を使用する必 要があります。 日本語DECformsバージョン2.1A for OpenVMSのCDD/Repositoryの 機能を使用するためには,バージョン4.1以降のCDD/Repository を使用する必要があります。 日本語DECformsバージョン2.1A for OpenVMSのLSE機能を使用す るためには,バージョン3.0以降のLSEを使用する必要がありま す。 日本語DECformsバージョン2.1A for OpenVMSのDECtrace機能を使 用するためには,バージョン1.0以降のDECtraceを使用する必要 があります。 viii 関連マニュアル DECformsの使用方法の詳細については,以下のマニュアルを参照 してください。 o 『日本語DECformsコマンドおよびユーティリティの手引 き』 o 『日本語DECformsアプリケーション開発の手引き』 o 『DECforms Character-Cell Style Guide』 o 『日本語DECforms IFDLリファレンス・マニュアル』 o 『日本語DECformsプログラマーズ・リファレンス・マニュ アル』 o 『DECforms Guide to Converting VAX FMS Applications』 o 『DECforms Installation Guide for VMS Systems』 o 『DECforms Master Glossary and Index』 o 『DECforms Master Glossary and Index』(Order No. AA-Q506A-TE) _____________________ 関連情報 _____________________ DECformsは,CODASYLフォーム・インターフェイス管理シ ステム委員会とISO/IEC JTC1/SC22ワーキング・グループ 18(FIMS)によって作成された,フォーム・インターフェイ ス管理システム(FIMS)のANSI/ISO標準案をDEC社で実現し たものです。FIMS規格はISO DIS 11730:1992年12月7日に 記述されており,ISOまたはANSIから購入することができ ます。 _____________________________________________________ ix 1 ________________________________________________________________ DECformsバージョン2.1Aに関して DECFormsの本リリースは、DECformsバージョン2.0開発キットお よび実行時キットのオリジナルリリースにとって替わるもので す。今回の更新で修正された問題は以下のとおりです。 ___________________________________________________________ 1.1 インストレーション概論 開発または、実行時キットにおけるインストレーション手順で の、変更点は、セーブセットのセット名のみです。VMSINSTALと 共に使われる製品名は以下のとおりです。 o VAX開発キットには、FORMSJA021 o VAX実行時キットには、FORMSRTJA021 o アルファ開発キットには、FORMSAJA021 o アルファ実行時キットには、FORMSRTAJA021 ___________________________________________________________ 1.2 本リリースで修正された問題 DECForms実行時キット環境において修正された問題の概要は以下 のとおりです。 o DECforms実行時キットのライブラリが「スレッド・セイ フ」になりました。これにより、ACMSやADAを含むスレッド 型アプリケーション環境において相互作用でおきる問題が 解決されました。 o DECforms V1.4に比べ、そのふるまいが、向上しました。 o "By descriptor"引数の引き渡しが修正され、非同期送信と そのキャンセルのリクエストが、きちんと作動するように なりました。 DECformsバージョン2.1Aに関して 1-1 DECformsバージョン2.1Aに関して 1.2本リリースで修正された問題 o /NOMEMBER_ALIGNMENTスイッチ使用時のOpenVMSのアルファ 版で、DECforms V1.4CあるいはV1.4Dによって変換されたフ ォームのアラインメントを修正できます。 o 以前のバージョンのDECFormsで出力されたマルチフォー ム・オブジェクトを、画像にリンクさせる際の、イメージ ベース・フォーム読み込みコンバートが修正されました。 o "Session Not Found"オカランスとACCVIOエラーを防ぐため のPEU呼び出し因数のアラインメントが修正されました。 DECforms開発環境において修正された問題の概要は以下のとおり です。 o ファイルを含むDECFormsのC言語が、 省略時のDEC C 編集モードで作動するようになりました。従って、 /STANDARD=VAXCのスィッチは必要なくなりました。 o VT500ターミナルを使用する際、およびPROTECTED WHEN句を AUTOSKIPと共に使用する際に、パネルエディターが正しく 作動するようになりました。 o Motif準拠パネルエディターが、プッシュボタンを押すと 正しい値を示すようになりました。 ___________________________________________________________ 1.3 ACMSをご利用のお客様への注意 ACMSを正しく使用するために、DECformsバージョン2.1A用ソフト ウェアは、OpenVMSオペレーション・システムバージョン6.1ある いは6.2におけるACMSバージョン4.1以降のものと、使用するよう にしてくださいまたOpenVMSアルファ版V6.2を正しく使用するた めには、ECOナンバーALPCMAR01_062がインストールされているこ とが必要です。 ___________________________________________________________ 1.4 DECformsの概要 DECformsは,テキストと単純なグラフィックスをフォームとメニ ューの形に統合します。アプリケーション・プログラムは,これ らのフォームとメニューをユーザ・インターフェイスとして使用 します。また,DECformsは,アプリケーション・プログラム内で 1-2 DECformsバージョン2.1Aに関して DECformsバージョン2.1Aに関して 1.4 DECformsの概要 はなく,フォーム内でユーザ・インターフェイスを完全に制御す るための高度な機能を提供します。 DECformsは,フォームと関数を分離することにより,アプリケー ション開発を支援します。ユーザ・インターフェイスは,完全に アプリケーション・プログラムの外部に置かれます。フォームの 目的は,アプリケーション・プログラムを利用者向けの表示から 分離することです。プログラムはデータを処理し,利用者とのイ ンターフェイスはすべてフォームが担当します。フォームには端 末管理機能が含まれており,アプリケーション・プログラムをデ バイスから独立させます。 DECformsのプログラミング・インターフェイスは,レコード・レ ベルのインターフェイスです。データはレコード単位で転送され ます。プログラムとフォームの中で定義されたレコードは,フォ ームとプログラムの間でのデータの転送方法を制御します。 日本語DECformsバージョン2.1Aには,以下の新機能があります。 o Motifデバイスのサポート- Motifワークステーション・デ バイスをサポートします。 o 高品質の印刷出力- DDIFファイルの変換により, PostScript印刷をサポートします。 o テキスト・フィールド(複数行フィールド) -文字セル・レ イアウト,MotifレイアウトおよびPRINTERレイアウトにお ける複数行テキスト・フィールドをサポートします。 o 文字セル・レイアウトからウィンドウ・レイアウトへのコ ンバータ-文字セル・インターフェイスからMotifインター フェイスへの移行を支援するためのツールです。 o Motif準拠パネル・エディタ- MotifまたはPRINTERレイアウ トにおけるパネルの体裁を変更するためのツールです。 o 『日本語DECformsアプリケーション開発の手引き』という 新規のマニュアルで,DECformsアプリケーションの開発方 法を説明しています。 o 強化されたユーザ・ドキュメント-新しい機能の説明を追加 しています。 DECformsバージョン2.1Aに関して 1-3 DECformsバージョン2.1Aに関して 1.4 DECformsの概要 o サンプルの小切手アプリケーション- DECformsのサンプル の小切手アプリケーションがMotifをサポートするように変 更されました。ソース・ファイルの先頭上に付けたコメン トに,プログラムの実行に関する説明があります。 o VAXおよびアルファ両プラットフォーム上に完全な同機能を 搭載してのリリースです。 o 以前のバージョンのDECformsで報告された問題の修正。 ______________________ 注意点 ______________________ 以前のバージョンのDECformsで作成されたフォームは,再 変換をしなくてもバージョン2.1A以降の環境で作動します が,DECforms 2.1以前に変換されたフォームは、実行時の コンバートを避けるために再変換を行ってください。特 に、メモリ内コピーとして出力されたフォームが結果的に コンバートの作動を引き起こすからです。 アルファ上のフォーム・レコードは、OpenVMS呼び出し基 準で呼び出される 2つのレイアウト方式に従います。こ れらのレイアウト方式とは、「VAX互換性方式」と「アラ インメント方式」の2つのレコード・レイアウト方式で す。詳細は、「レコードアラインメント補足説明」を参照 してください。 _____________________________________________________ 以下の章では,日本語DECformsバージョン2.1Aのソフトウェアと ドキュメントに関して、日本語DECForms VAX版バージョン1.4以 降におけるすべての既知の制約,修正および追加事項を説明しま す。 1-4 DECformsバージョン2.1Aに関して 2 ________________________________________________________________ DCLコマンド・ラインについて ___________________________________________________________ 2.1 新機能 この節では,日本語DECformsバージョン2.1AのDCLディスパッチ ャの新機能について説明します。 o FORMS EDIT/INTERFACE=[DECWINDOWS|CHARACTER_CELL] o FORMS CONVERT LAYOUT o FORMS TRANSLATE/[NO]MEMBER_ALIGNMENT[=(type=alignment,...)] o FORMS TRANSLATE/FLOAT=option o FORMS TRANLATE/LIST o FORMS TRANLATE/[NO]PAD_RECORDS 2.1.1 FORMS EDIT/INTERFACE FORMS EDITコマンドに,新しい修飾子/INTERFACE=[DECWINDOWS| CHARACTER_CELL]が追加されました。/INTERFACE=DECWINDOWS を指定すると,Motif準拠パネル・エディタが起動されます。 /INTERFACE=CHARACTER_CELLを指定すると,文字セル対応のパネ ル・エディタが起動されます。 2.1.2 FORMS CONVERT LAYOUT FORMS CONVERT LAYOUTという新しいコマンドが追加されました。 FORMS CONVERT LAYOUTは,文字セル・レイアウトをピクセル・レ イアウトに変換するレイアウト・コンバータを起動します。この ユーティリティは,文字セル・ベースのフォームのウィンドウ・ ベースのフォームへの移行を支援します。 DCLコマンド・ラインについて 2-1 DCLコマンド・ラインについて 2.1新機能 2.1.3 FORMS TRANSLATE/[NO]MEMBER_ALIGNMENT FORMS TRANSLATEコマンドに新しい修飾子/[NO]MEMBER_ ALIGNMENT[=(type=alignment,...)]が追加されました。/MEMBER_ ALIGNMENT(省略時設定)を指定すると、プラットフォーム上で ナテュラルレコード・レイアウトに従うレコードを定義します。 type=alignment修飾子を任意選択することによって、プログラム 開発者は、アラインメント倍数をそのタイプごとにレコード内の フィールドで制御できるようになります。/NOMEMBER_ALIGNMENT は、プラットフォーム上で、いつもVAXレコードレイアウトに従 うレコードを定義します。ナテュラルレコード・アラインメント は、実行中のプラットフォームでの省略時設定レコードレイアウ トです。VAXでは、「ナテュラル」は何の意味も持たず、VAX (バ イト)アラインメントレコードがいつも使われます。アルファ版 では、「ナテュラル」とは、OpenVMSアラインメント方式レコー ドレイアウトに従うものを指します。 以下のコマンドにより日付フィールドでロングワード・アライン メントが行われます。 例1/MEMBER_ALIGNMENT修飾子の使用 FORMS TRANSLATE/MEMBER_ALIGNMENT=ADT=LONGWORD_ALIGNMENT a.ifdl 2.1.4 FORMS TRANSLATE/FLOAT 新しい修飾子/FLOAT=optionが FORMS TRANSLATEコマンドに追加 されました。/FLOAT=optionを指定すると、省略時にそのフォ ーム内で使われる精密度を指定できます。DECFormsの今までの バージョンでは、いつもH_FLOATが省略時設定されていました がDECForms V2.1ではG_FLOATへと変更になりました。(注意: H_FLOATを指定すると、H_フローティングポイントがアルファ版 使用のためにルーチンをエミュレートすることがあります。ま た、D_フロートを指定すると、アルファ版では精密度が低くなり ます(53ビット対56ビット) 以下のコマンドによりフローティングの精密度をH_FLOATの精密 度に変更します。 2-2 DCLコマンド・ラインについて DCLコマンド・ラインについて 2.1新機能 例2/FLOAT修飾子の使用 FORMS TRANSLATE FLOAT=H_FLOAT a.ifdl 2.1.5 FORMS TRANSLATE/LIST /LISTという修飾子がFORMS TRANSLATEコマンドに使われると、修 正されたフォーマット一覧ファイルを作成します。 2.1.6 FORMS TRANSLATE/[NO]PAD_RECORDS /[NO]PAD_RECORDSという修飾子は、フォーム・レコードにおける レコードの長さをレコードアラインメントの倍数に詰込みをする (パッドする)かどうかを指定します。これは、アルファ版にお いて、レコードアラインメントを扱う際の、言語の違いをみるた めに利用されています。 DEC ADAやDEC COBOLコンパイラでは、レコード長にパディングは できません。そのため/NOPAD_RECORDSという修飾子も必要ありま せん。 [省略時の設定は、/PAD_RECORDSです。 新しいコマンド・ライン構文の詳細については,『日本語 DECforms IFDLリファレンス・マニュアル』あるいは、本リ リース中の本文を参照してください。 DCLコマンド・ラインについて 2-3 3 ________________________________________________________________ IFDLトランスレータについて この節では,日本語DECformsバージョン2.1AのIFDLトランスレー タの新機能と,既知の制約や問題について説明します。 ___________________________________________________________ 3.1 本リリースにおけるドキュメント化されていない新機能 o フォームファイル・フォーマット:フォームファイルのデ ータ構造が修正され VAX/アルファ上でアラインメントする ようになりました。 o リストファイル・フォーマットの修正:題名ヘッダーとレ コード・レイアウトをサポートします。 o 精密度の省略時の新設定法:ユーザ指定の省略時設定をサ ポートします。 o レコードアラインメント新設定法:アルファ版アラインメ ント方式  レコード・レイアウトをサポートします。 o レコードパディング新設定法:新旧アルファ版呼び出し基 準をサポートします。 o フローティング・ポイント・データタイプ:プラットフォ ーム間での ローティング・ポイントをサポートします。 3.1.1 フォームファイル・フォーマット V2.1以降で作成されたフォーム・ファイルは新フォーマットにお けるものです。この新フォーマットはVAX、アルファの両版にお いて、よりよいふるまいをするように改良されました。.FORMフ ァイルは、VAX、アルファ間で、互換性があるバイナリで、混合 クラスタ環境でも使うことができます。この互換性は、VAX,およ びアルファ版旧フォーム・バージョンで使うこともできます。 IFDLトランスレータについて 3-1 IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 3.1.2 リストファイル・フォーマットの修正 修飾子/LISTをFORMS TRANSLATEコマンドに使うと、修正されたフ ォーマットの一覧表ファイルが作成されます。ページヘッダー は、セクションタイトルを表示するように修正されました。セク ションタイトルは、「ソースコード一覧表」「構造レイアウト一 覧表」「変換統計表」の3つで、「構造レイアウト一覧表」は、 V2.1での新しいセクションです。 このセクションでは、FORMS RECORDがDECformsによってどのよう に翻訳されるかというインフォメーションを提供します。アルフ ァ版では、レコードは、OpenVMS呼び出し基準によって呼び出さ れた2つの定義フォームに従います。それらは、「VAX互換性方 式」レコードレイアウトと、「アラインメント方式」レコードレ イアウトの2つで、「アラインメント方式」レコードレイアウト とは、アルファ版での、ナテュラルレコードレイアウトで、同様 に「VAX互換性方式」レイアウトがVAX版でのナテュラルレイアウ トになります。 以下に、このセクションの例をあげます。.FORMファイルがVAX、 アルファ両版に使われているため、一覧表には、それぞれがどの ように表示されているかというインフォメーションを載せまし た。 例3「構造レイアウト一覧表」セクション DECforms V2.1-0 DS V3.9-108 IFDL Translator 構造レイアウ ト一覧表 SYS$LOGIN_DEVUCE:[TEST]TEST.IFDL;1 アライン オフ・セット サイズ ーメント -------- -------------- --------------- Lw 3327/3532 バイ ト Form Record G_REC Word 0 バイト 34 バイト CHOICE_TEXT Word 34 バイト 34 バイ 3-2 IFDLトランスレータについて IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 ト CONTROL_TEXT Byte 68 バイト 1 バイト GIK_DISPLAY Word 69/70 バイト 257 バイト INT_DESC Word 326/328 バイト 257 バイト INT_DESC Lw 583/588 バイト 8 バイト STIME Lw 591/596 バイト 4 バイト GRANULARITY Lw 595/600 バイト 4 バイト FILE_SIZE Lw 599/604 バイト 4 バイ ト NUM_KEYWORDS Word 603/608 バイト 13/14 バイ ト Group KS Occurs 200 Word 603/608 バイト 12 バイト KEYWORD Byte 615/620 バイト 1 バイト SELECTED End Group Lw 3203/3408 バイト 4 バイ ト NUM_KS_SELECTED Word 3207/3412 バイト 60 バイ ト Group KS_S Occurs 2 Word 3207/3412 バイト 12 バイ ト Group SW Occurs 5 Word 3207/3412 バイト 12 バイト KEYWORD End Group End Group End Group 「サイズ」欄は、データ項目の実際のサイズを示します。 「オフセット」欄は、レコード当初からのオフセットを示しま す。 「アラインメント」欄は、必要とされるデータアラインメントの 以下のような型を示します。 Byte = バイト・アラインメント Word = ワード・アラインメント Lw = ロングワード・アラインメント Qw = クオッドワード・アラインメント Ow = オクタワード・アラインメント IFDLトランスレータについて 3-3 IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 ______________________ 注意点 ______________________ 1. "OCCURS n"の最初のオカランスのみが、表示されてい ます。 2. "/"印セパレーターは、"VAX/Natural"のレコードアラ インメント値を表します。このセパレーターが無い場 合は、値が等しいか、/NOMEMBER_ALIGNMENTが使われ たことを示します。 _____________________________________________________ この例題で「構造レイアウト一覧表」セクションの特徴をすべて 説明できます。表の最後にある「注意点」が難解な点を説明して くれています。例題中の注意点の第1は、グループの反復性によ って起こります。グループの細かな実例を各々あげるのは、本来 の意味がありません。必要とされる実際のサイズは、グループの 実例によって示されます。 例題中の注意点の第2は、「アラインメント方式」レコードと 「VMX互換性方式」のレコード・レイアウトがどのように違うか を示します。それぞれがマッチすると、一桁の値が示されます。 これらの注意点がいつもすべてファイル・リストに示されるわけ ではなく、そのためこれらの数値は変更されることがあることを ご承知ください。また、「アラインメント」欄の値によって、後 に続く説明も決まってきます。つまり、Qwがアラインメント欄に あるときのみ、"Qw=クオッドワード・アラインメント"の説明が 現れます。 アルファ版では、レコードのナテュラルアラインメントが、レコ ード・フィールド間で詰め込み(パディング)を引き起こすこと があります。レコード内でフィールドの位置をアレンジしなおす ことで、この詰め込みを最小限にすることができます。フィール ドのアドレスは、サイズと、既に与えられているアラインメント に基づいて決められます。この一覧表は、データタイプごとに与 えられたアラインメントの値を示します。一般に、レコード内で は、フィールドを最大アラインメント値から最少アラインメント 値の順に並べるのが一番よい方法です。つまりオクタワードから バイトワードへということになります。先程の例題では、ロング 3-4 IFDLトランスレータについて IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 ワードを一番最初に、次にワード、そしてバイトと配置すること ができます。 フィールドとレコードのアレンジは多くの方法が可能です。最終 目的は、フィールド同士の詰め込みを最少限にするようにアレン ジすることです。 3.1.3 省略時における精密度の新設定法 DECformsにおける精密度の省略時設定は、Hフロートでした。こ れは、フォームが一般に必要とするものよりかなり高レベルの精 密度です。本バージョンでは、アルファ版との互換性を持たせる ために、Gフロートに変更しました。/FLOAT=optionという新しい 修飾子をFORMS TRANSLATEコマンドに加えることで、ユーザは好 みの省略時設定をすることができます。 この修飾子構文は、/FLOAT=optionで、"option"には、以下のよ うに指定された浮動小数点のタイプを入れます。 D_FLOAT F_FLOAT G_FLOAT H_FLOAT S_FLOAT T_FLOAT X_FLOAT ______________________ 注意点 ______________________ H_FLOATを指定すると、Hフローティング点が、アルファ版 で使用のためのルーチンをエミュレートすることがありま す。また、D_FLOATを指定するとアルファ版では、精密度 の低いD_FLOATが使われます。(53ビット対56ビット) _____________________________________________________ IFDLトランスレータについて 3-5 IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 3.1.4 レコードアラインメントの新設定法 新しい修飾子/[NO]MEMBER_ALIGNMENT[=type=alignment,...)]が FORMS TRANSLATEコマンドに加えられました。この修飾子の目的 は、アルファ版での、ナテュラルアラインメント・レコードと、 レコード・フィールドの制御です。 アルファ版での、ナテュラルアラインメント・レコードは、 OpenVMS呼び出し基準定義のアラインメント方式レコード・レイ アウトに従います。つまり/MEMBER_ALIGNMENTです。。/NOMEMBER ALIGNMENTを指定すると「VAX互換性方式」基準定義にフォーム・ レコードが従います。 この修飾子の構文は、/[NO]MEMBER_ALIGNMENT[(type=alignment)]で、 typeには、以下のような有効なデータタイプが入ります。 BYTE WORD LONG QUAD ADT TEXT VARYING_TEXT D_FLOAT D_FLOAT G_FLOAT H_FLOAT S_FLOAT T_FLOAT X_FLOAT "alignment"には、以下のような有効なアラインメント複合指令 がはいります。 byte_alignment word_alignment longword_alignment quadword_alignment octaword_alignment 3-6 IFDLトランスレータについて IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 省略時のそれぞれのアラインメント複合指令は以下のような設定 です。 BYTE = byte_alignment WORD = word_alignment LONG = longword_alignment QUAD = quadword_alignment ADT = quadword_alignment TEXT = byte_alignment VARYING_TEXT = word_alignment D_FLOAT = quadword_alignment F_FLOAT = longword_alignment G_FLOAT = quadword_alignment H_FLOAT = octaword_alignment S_FLOAT = longword_alignment T_FLOAT = quadword_alignment X_FLOAT = octaword_alignment アルファ言語コンパイラは、どちらか一方あるいは両方のフォ ーマット・レコードを作成します。既存の"FORM RECORD mumble USING [NATURAL|BYTE]ALIGNMENT"は、同じようなキャパシティ のフォーム内で使われることがあります。その際に/[NO]MEMBER_ ALIGNMENT[=type=alignment,...)]というそのレコードの修飾子 活動に上書きされます。 VAXにおいては、レコード・レイアウトを指定することはできま せん。VAXでは、常にVAX(バイト)レコード・レイアウトに従い ます。 /NOMEMBER_ALIGNMENTを指定して、その追跡が不可能な場合は、 以下のような新しいメッセージが、レイアウトを選んだ直後に表 示されます: "Records with unspecified alignment are BYTE aligned; /NOMEMBER_ALIGNMENT."このメッセージは、アルファ 版実行中にのみ表示されます。VAXでは、何の意味もないからで す。 例4/NOMEMBER_ALIGNMENTでの追跡ファイル IFDLトランスレータについて 3-7 IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 追跡を FORMS$CHECKING_FORM.TRACEに出力することからはじめま す。 Begin ENABLE request. Begin Initialize request phase Validate the arguments for this request. Open form file named 'forms$checking_form'. Read form file named 'forms$checking_form'. Begin selecting a layout. Specified enable device is a Character Cell Terminal. Character cell terminal is a VT300 Color. Width of 80. Height of 24. No layout with a matching language clause was found. Now serching layouts without lauguage clauses for a suitable device match. Selected layout CHECKING_LAYOUT. End selecting a layout. Records with unspecified alignment are BYTE aligned; /NOMEMBER_ALIGNMENT. Begin reset all data items. Resetting data item ACCOUNT_NUMBER. Resetting data item AMOUNT. Resetting data item CHECKING_BALANCE. 3.1.4.1 アルファ版の以前のバージョンとの互換性ファイル レコード内での、ADTデータタイプのフィールドには、DECforms V1.4アルファ第一版では、ロングワードアラインメントを使って いました。しかし現在では、クオッドアラインメントに変更に なっています。これは、LIBRTL呼び出しで使うのに適している からです。この変更によってDECformsと各アプリケーション間 のフォーム・レコードに影響がでることがあります。アプリケ ーション・プログラムをレコード・レイアウトにあわせるため には、クオッドワードアラインメントで修正するのが、一番よ い方法です。しかしこの方法が希望通りにできない場合には、 フォームを変換する際に、以下のようなコマンドを使ってクオ ッドワードアラインメントに変更することができます;"FORMS TRANSLATE/MEMBER_ALIGNMENT=ADT=LONGWORD_ALIGNMENT" 3-8 IFDLトランスレータについて IFDLトランスレータについて 3.1本リリースにおけるドキュメント化されていない新機能 3.1.5 レコード・パディング修飾子 /[NO]PAD_RECORDSという修飾子はフォーム・レコード内でのレコ ード長をそのレコードアラインメントの倍数なるように詰め込み をするかどうか決めるものです。これは、アルファ版において、 レコードアラインメントを扱う際に言語の違いをみるために、利 用されています。 DEC ADAやDEC COBOLコンパイラはレコード長に詰込みをしませ ん。従って、/NOPAD_RECIRDSという修飾子も不要です。 省略時の設定は、/PAD_RECORDSです。 3.1.6 浮動小数点のデータ・タイプ S, T, Xを使ったIEEE浮動小数点のデータ・タイプは、VAXおよび アルファ使用に際してIFDL言語によってサポートされています。 (S_FLOATING, T_FLOATING, X_FLOATING) VAX上では、これらのデ ータ・タイプはF_FLOATING, G_FLOATING H_FLOATINGと特にコン バートされており、どんな操作になれたオペレータにも、適して います。 実際には、LONG FLOATはG_FLOATING内に、SHORT FLOATは、F_ FLOATING内にあり、これは、VAX、アルファ、共に同じです。ア ルファ版でのD_FLOATINGの精密度は、VAXよりも低くなっていま す。つまり、アルファ上では、53ビット、VAXでは、56ビットに なります。DECFormsアルファ版では、H_FLOATINGの作用は、ソフ トウェア操作ルーチンをとおして直接サポートされます。 ___________________________________________________________ 3.2 本リリースで修正された問題 o DECformsバージョン2.0では、IFDL変換機能は、ハイライト されたWhen句の一部として、文字セット属性を持っている IFDLを変換しませんでした。DECformsバージョン2.0より以 前のバージョン(日本語版を除く)では、文字セット属性 は、ハイライトされたWhen句内では有効な指令と、考えら れています。 IFDLトランスレータについて 3-9 IFDLトランスレータについて 3.2本リリースで修正された問題 o 以前のバージョンのDECformsでは,IFDLトランスレータ はCDDから受け取ったフィールドを処理する際に,SCALE 0 が明示的に指定されていると,誤った処理を行っていま した。このため,FORM DATAまたはFORM RECORD宣言の中で COPY FROM DICTIONARYでフォームの変換を行うとき,CDDの 中でSCALE 0が指定されているフィールドが存在している と,IFDLトランスレータはエラー・メッセージを表示しま した。この問題は修正されています。 o フォーム・データ項目が多数存在していると,IFDLトラン スレータはアクセス違反を引き起こすことがありました。 この問題は修正されています。 o 以前のバージョンのDECformsでは,パネルと同じ名前を持 つ縦横倍角属性のアイコンが,そのパネルの中で宣言され てないと,IFDLトランスレータは処理に失敗しました。本 バージョンでは,トランスレータは名前の重複が許されな いという正しいメッセージを表示します。 o 以前のバージョンのDECformsでは,パネルと同じ名前を持 つパネル・グループがフォーム・データ・グループに関連 付けられていないと,IFDLトランスレータはアクセス違反 を引き起こしました。この問題は修正されています。 o 日本語DECformsバージョン1.4では,COPY文によって参照さ れているIFDL構文に構文エラーがあると,IFDLトランスレ ータは無限ループに入りました。この問題は修正されてい ます。 o 日本語DECformsバージョン1.4では,CDDバリアントがグル ープの中で宣言されており,バリアント構造の1番目のバリ アントがフィールドまたはグループを1つ以上含んでいた場 合,IFDLトランスレータはそれ以降のフィールドやグルー プを親グループの外に出していました。この問題は修正さ れています。 o 日本語DECformsバージョン1.4では,IFDLトランスレータ は,ファンクション・キーの衝突が起こったときに,その 衝突が組み込みファンクション・キーの衝突であるという 不正な補助メッセージを含むエラー・メッセージを生成す ることがありました。この問題は修正されています。 o 日本語DECformsバージョン1.4では,IFDLトランスレータは CDDとの対話を正常に終了せず,CDDセッションを開いたま ま放置することがありました。この問題は修正されていま す。 3-10 IFDLトランスレータについて IFDLトランスレータについて 3.2本リリースで修正された問題 o 以前のバージョンのIFDLトランスレータでは,UPPERCASE属 性は,文字フォーム・データ項目にしか指定できませでし た。この制約は日付フィールドについてはなくなりました が,書式2と書式3の入出力様式については残っています。 o 日本語DECformsバージョン1.4では,IFDLトランスレータ は,ヌルで終わるフォーム・データ項目の境界条件を扱う 際に,アクセス違反を引き起こしました。この問題は修正 されています。 o 以前のバージョンのIFDLトランスレータでは,CDOユーティ リティを使用して定義されたCDDレコード・フィールドで初 期日付文字列が指定されていた場合,CDOは初期日付値を IFDLトランスレータが解釈できない書式で格納していたた め,トランスレータはこの種のフィールドをコピーする試 みをエラーとして扱っていました。現在,IFDLトランスレ ータは無効な初期値を無視し,情報メッセージを出力する ことにより,この状況に対応しています。 o 以前のバージョンのIFDLトランスレータでは,CDD FILLER フィールドがフォーム・レコード・グループにコピーされ た場合,IFDLトランスレータは,レコード・グループの1番 目のフィールドをレコード・グループの外部に誤って置く ことがありました。この問題は修正されています。 ___________________________________________________________ 3.3 本リリースにおける制約 o UNITS POINTSが指定されているレイアウトを使わないよう  おすすめします。UNITS POINTSは有効なIDFL指令として 変換されてはいますが、UNITS POINTSが指定されているレ イアウトを使うと、予想外の結果が生じることがあるから です。この制約は、DECformsの将来のバージョンで解決さ れる予定です。 o FONT SIZE DOUBLE HIGH属性を使用する表示句で2つのテキ スト・リテラルを連続して定義し,2番目のリテラルがNEXT LINE句を持っている場合,2番目のリテラル宣言で次のエラ ー・メッセージが発生します。 %FORMS-E-NODBLHIGH, double high objects cannot exist on this line IFDLトランスレータについて 3-11 IFDLトランスレータについて 3.3本リリースにおける制約 この問題を回避するためには,2番目のリテラルを,次のよ うにNEXT LINE+1句で宣言します。 Literal Text Line 2 Column 1 Value "lit1" Display Font Size Double High End Literal Literal Text Next Line + 1 Same column Value "lit2" Display Font Size Double High End Literal この動作は,将来のリリースのDECformsでは変更される可 能性があります。 3-12 IFDLトランスレータについて 4 ________________________________________________________________ DECformsのCとFORTRAN用のポータブル・バインディング ___________________________________________________________ 4.1 エラー・メッセージ・ルーチン DECformsは,リクエスト・ステータス番号を意味のわかるメッ セージ・テキストに変換するために,C用にforms_errormsg(), FORTRAN用にはforms_errormsg_for()という名前のエラー・メッ セージ・ルーチンを用意しています。これらのルーチンは,リク エスト・ステータス番号と,入力として最高256文字までを格納 できる,事前に割り当てられたメモリ領域をポイントする文字列 ポインタを引数にとります。DECformsは,指定された文字列ポイ ンタの指す位置にメッセージ・テキストを格納します。 C用のルーチンの記述 void forms_errormsg ( Forms_Status errno, char msg_text_ptr [256]); FORTRAN用のルーチンの記述 SUBROUTINE forms_errormsg_for ( INTEGER errno, CHARACTER*(256) msg_text_ptr); これらのルーチンは,まだテスト段階であることに注意してくだ さい。当社は,顧客からのフィードバックに基づいて,これらの ルーチンが有用であるかどうかを判断する予定です。また,これ らのルーチンを捨てて,新しいメッセージの取り出し方法を導入 する可能性もあります。 DECformsのCとFORTRAN用のポータブル・バインディング 4-1 DECformsのCとFORTRAN用のポータブル・バインディング 4.2 FORTRANのプレースホルダの制約 ___________________________________________________________ 4.2 FORTRANのプレースホルダの制約 Fortranバインディングで,存在しない文字列引数を指定すると き,ユーザは以下のプレースホルダのいずれかを使用しなくては なりません。 forms_enable_for (session_id, , form_file, form_name, request_option) forms_enable_for (session_id, "", form_file, form_name, request_option) forms_enable_for (session_id, CHAR(0), form_file, form_name, request_option) 数値0を使用して,存在しない文字列引数を指定すると,0は整数 型なので,プログラミング・エラーと見なされます。DECforms は,このようなエラーが検出されることを保証しておらず,この ようなエラーは実行時に予期しない現象が起きる可能性がありま す。 さらに,DECformsリクエスト呼び出しが,nを正の整数として, 入力ユーザ・パラメータをn個予期している場合,ユーザは実際 の変数,値またはプレースホルダを渡して各パラメータを指定す る必要があります。たとえば,forms_enable呼び出しは,次に示 すように入力ユーザ・パラメータを5個予期しています。 forms_enable_for (session_id,,form_file,,) 1 forms_enable_for (session_id,,form_file,) 2 1. この forms_enable 呼び出しは正しい呼び出しです。 2. この forms_enable 呼び出しは正しくありません。 4-2 DECformsのCとFORTRAN用のポータブル・バインディング 5 ________________________________________________________________ 実行時システム(フォーム・マネージャ)について ___________________________________________________________ 5.1 新機能 この節では,日本語DECformsバージョン2.1Aのフォーム・マネー ジャの新機能について説明します。 o Motifデバイス・サポート- Motifワークステーション・デ バイスをサポートします。 o 高品質の印刷出力- DDIFファイルの変換により, PostScript印刷をサポートします。 o テキスト・フィールド(複数行フィールド) -文字セル・レ イアウト,MotifレイアウトおよびPRINTERレイアウトにお ける複数行テキスト・フィールドをサポートします。 o 以前のバージョンのDECformsで報告されていた問題が修正 されています。 ___________________________________________________________ 5.2 制約 この節では,日本語DECformsバージョン2.1Aのフォーム・マネー ジャの既知の制約と問題について説明します。 5.2.1 一般的な制約 o アルファ用プラットフォームでは、精密度の低いDフローテ ィング・ポイントをサポートします。このDフローティン グ・ポイントは、アルファ版で、53ビット分の精密度、VAX 版では、56ビット分の精密度です。 実行時システム(フォーム・マネージャ)について 5-1 実行時システム(フォーム・マネージャ)について 5.2制約 o フオーム・レコードのフィールド・オフセットとその長さ は、アルファ版では、.FORMSファイルの読込みを実行中に 計算されます。これによって、.FORMファイルが、VAX版と アルファ版での互換性を持つようになります。 o DECforms V2.1では、フォーム・データ構造が新しくなり ました。 .FORMファイル内の、旧バージョンでのフォー ム・データ構造は、そのフォームの実行時に、コンバート され有効になります。また、出力されたオブジェクトから のイメージの中にある旧バージョンのフォーム・データ構 造は、変換されて、データ構造の旧コピーから再読み込み されます。これにより、新しく、メモリー内にコピーが作 成されます。そのふるまいを向上させるためには、.FORMS ファイルをV.2.1あるいはそれ以降のFORMS TRANSLATERコマ ンドを使って再成し、出力されたオブジェクトは、FORMS EXTRACT OBJECTコマンドで再出力し、イメージはDECforms V2.1以降で再構成してください。 o CALL応答ステップにおけるGIVING句 CALL応答ステップでGIVING句が使用されている場合,引 数がフォーム・データにコピーで戻される前に,GIVING句 に返される値がフォーム・データに移動されます。このた め,USING句とGIVING句で同じフォーム・データ項目を指定 すると,予期しない現象が発生することがあります。 次に例を示します。 Call "INCREMENT_DATA_ITEM" Using MY_DATA_ITEM Giving MY_DATA_ITEM この例で,エスケープ・ルーチンINCREMENT_DATA_ITEMは, フォーム・データ項目の値を1だけ増やします。ただし, USING句はGIVING句の後に処理されるため,エスケープ・ル ーチンに渡されたMY_DATA_ITEMの元の値が,GIVING句によ って返された値を上書きします。 o UNITS POINTS UNITS POINTSが指定されているのレイアウトの使用は避け るようおすすめします。予想外の結果が生じる恐れがある からです。ただし、この制約は、DECformsの将来のバージ ョンで解決される予定です。 o INPUT REQUIRED句 5-2 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.2制約 INPUT REQUIRED句は,『日本語DECforms IFDLリファレン ス・マニュアル』に記されているのと異なるふるまいをし ます。とくに,オペレータがパネル・フィールドの既存の 値を入力した場合,INPUT REQUIRED句の条件は満たされま せん。INPUT REQUIRED句は,データ項目の値がオペレータ によって変更された場合にのみ満たされます。VMS端末ドラ イバの読み込み検証機能が,INPUT REQUIRED句のふるまい を決定します。 o INPUTおよびOUTPUT入出力様式と挿入リテラル IFDLトランスレータでは,パネル・フィールドに対して INPUTとOUTPUTの両方の入出力様式句を指定する場合,この 2つの入出力様式文字列は同じ長さでなくてはなりません。 さらに,フォーム・マネージャでは,両方の入出力様式で 指定された挿入リテラルは,どちらの入出力様式でも同じ 文字位置になっていなくてはなりません。 o フォーム・データ項目と複数のパネル・フィールド 1つのフォーム・データ項目を複数のパネル・フィールドに 表示することができます。ただし,このためには次の2つの 条件のどちらかが満たされている必要があります。その条 件とは,それらのパネル・フィールドに対して指定された 入出力様式文字列が,データ項目に含まれる可能性がある 任意の値を表示できるようになっていること,あるいは, パネルの表示前の時点で,パネル中に表示できるような値 が設定されていることです。 たとえば,データ型がロングワード整数のフォーム・デー タ項目があり,このデータ項目が2つのパネル・フィールド に,それぞれ9999999999と999の入出力様式で置かれている とします。データ項目の値が1,000以上の場合,2番目のパ ネル・フィールドの入出力様式は入出力様式データを表示 できません。2番目のパネルを表示する前に,データ項目を 999という入出力様式と互換性のある値に設定しておかな いと,アプリケーション・プログラムにエラーが返されま す。 o エスケープ・ルーチンの中でトレーシングをオンにする と,トレーシングはローカルになる 実行時システム(フォーム・マネージャ)について 5-3 実行時システム(フォーム・マネージャ)について 5.2制約 フォーム・セッションの中で,論理名またはリクエストが トレーシングを指定していないとき,トレーシングの省略 時の設定はオフです。一般に,トレーシングは,リクエス トの中でDCL論理名または項目コードが変更しない限り, オフのままになっています。ただし,エスケープ・ルーチ ンの中でトレーシングのステータスが変更された場合,そ のステータスはエスケープ・ルーチンの実行中だけ有効で す。 たとえば,フォーム・セッションの中でトレーシングがオ フになっているときに,エスケープ・ルーチンの中でトレ ーシングをオンにすると,そのエスケープ・ルーチンの中 で起こったイベントだけが記録されます。同じように,フ ォーム・セッションの中でトレーシングがオンになってい るときに,エスケープ・ルーチンの中でトレーシングをオ フにすると,このエスケープ・ルーチンの中で起こったイ ベントは,トレース・ファイルには記録されません。 o 日付と時刻のサポート DECforms for OpenVMSで英語以外の言語を使用する 場合,実行時システムのシステム・マネージャは, SYS$LANGUAGESが定義された後にSYSTARTUP_V5.COMの中から SYS$MANAGER:LIB$DT_STARTUP.COMを実行しなくてはなりま せん。詳細については,『OpenVMS Run-Time Library』の 説明を参照してください。 すべてのADT,DATEおよびTIMEデータ項目は,1858 年11月17日の00:00:00.00 以上,9999年12月31日の 23:59:59.9999999以下でなくてはなりません。フォー ム・マネージャに渡されたADT,DATEまたはTIMEに,10000 年1月1日の00:00:00.00以上のデルタ時間値または日付/時 刻値が含まれていると,致命的なエラーと見なされます。 次に示すのは,DECforms for OpenVMSユーザに適用され る,RTLルーチンを原因とする制約です。日付入出力様式ア ルファベット情報の使用は,論理名を必要とするので,1プ ロセスあたり1言語に制約されます。 o 受け入れフェーズの前のRETURN/RETURN IMMEDIATE 日本語DECformsバージョン2.1Aでは,RETURNおよびRETURN IMMEDIATE応答ステップは,起動リストが空でない場合,受 け入れフェーズに入る前に無視されます。これらの応答ス テップの1つが,ENABLEやSENDなどの外部応答に含まれてお 5-4 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.2制約 り,応答ステップの前に何らかの項目が起動されている場 合,応答ステップは実行されません。 o DECterms for ULTRIXからdloginを使用してDECforms for OpenVMSフォーム・マネージャに接続する場合には,とくに 大量のグループを含んでいるフォームなどで,障害が発生 することがあります。この問題が発生したら,システム・ マネージャはMAXBUFパラメータを確認する必要がありま す。このパラメータの推奨値は2048以上ですが,この問題 が発生した場合はMAXBUFを4096に増やしてください。 o DECformsとDECtraceで,ACMSをデバッグ・モードで実行 している場合には,障害が発生することがあります。これ を回避するには,論理名EPC$SHRを"NL:"と定義してくださ い。 5.2.2 文字セル・レイアウトの制約 o CONCEALED WHENとオーバラップするパネル・オブジェクト 文字セル・レイアウトの中のパネル・フィールドに CONCEALED WHEN句が含まれており,そのパネル・フィー ルドがパネル上の背景リテラルにオーバラップしている場 合,そのリテラルは,CONCEALED WHEN条件が真のときには 表示されません。隠されているオブジェクトが置かれてい る文字位置に,スペース文字が書き込まれます。 o REFRESH ALLと外部画面エイジェント 文字セル・レイアウトの中のREFRESH ALL応答ステップは, 画面をDECformsと共用する他の画面パッケージの動作と干 渉を起こすことがあります。さらに,他の画面エイジェン トがディスプレイをDECformsと共用している場合,REFRESH ALLを実行してもDECforms画面の状態は復元されないことが あります。 実行時システム(フォーム・マネージャ)について 5-5 実行時システム(フォーム・マネージャ)について 5.2制約 5.2.3 Motifレイアウトの制約 o Motifレイアウトにおけるトリプル・キー・コーディング LK201キーボードは,同時に3つ以上の変更キーをサポート しません。変更キーは%Control,%Altおよび%Shiftです。 このため,フォーム設計者は,1つのコーデッド・キーで3 つ以上の変更キーを使用することを避けなくてはなりませ ん。たとえば,%Control + %Alt + %Shift + %F9のような コーデッド・キーは,LK201キーボードでは生成できないの で,この種のコーデッド・キーのファンクション宣言を指 定してはなりません。 o Motifレイアウトでのプラットフォームが予約しているキー Motifウィンドウ・システムは,特定のキーの組み合わせを 独自の用途のために予約しています。Motifレイアウトで, これらのキーの組み合わせに対してファンクションを指定 しても,効果はありません。つまり,実行時にそのキーの 組み合わせを押しても,そのファンクションのファンクシ ョン応答は起動されません。Motifレイアウトでのプラッ トフォームが予約しているキーには,以下のものがありま す。 表 5-1 Motifレイアウトでのプラットフォームが予約している キー __________________________________________________________ キーの組み合わ せ_______________Motifの機能______________________________ %Shift + %F11 MWMコントロール・メニューを開く %Alt + %Tab MWM次のアプリケーション %Alt + %F3 MWMウィンドウを奥に隠す %Alt + %F4 MWMアプリケーションを閉じる %Alt + %F5 MWMアイコンから拡大する __________________________________________________________ (次ページに続く) 5-6 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.2制約 表 5-1 (続き) Motifレイアウトでのプラットフォームが予約し ているキー __________________________________________________________ キーの組み合わ せ_______________Motifの機能______________________________ %Alt + %F6 MWMファミリー中の次のウィンドウ %Alt + %F7 MWMウィンドウを移動する %Alt + %F8 MWMウィンドウのサイズを変更する %Alt + %F9 MWMアイコンに縮小する %Alt + %F10 MWMウィンドウを拡大する %Alt + %Shift + MWM前のアプリケーション %Tab %Alt + %Shift + MWMファミリー中の前のウィンドウ %F6 %Control + * + コンソール・モード %F2 %Alt + %F11 MWM次のウィンドウ %Alt + %Select MWMコントロール・メニューを開く %Alt + %Shift + MWM前のウィンドウ %F11 %Control + 疑似マウス・モード %Shift + %F3 %Control + %Alt MWMトグル + %digit_one __________________________________________________________ (次ページに続く) 実行時システム(フォーム・マネージャ)について 5-7 実行時システム(フォーム・マネージャ)について 5.2制約 表 5-1 (続き) Motifレイアウトでのプラットフォームが予約し ているキー __________________________________________________________ キーの組み合わ せ_______________Motifの機能______________________________ %Prev_Screen スクロール・バーを上へ %Next_Screen スクロール・バーを下へ %Alt + %Left スクロール・バーを左へ %Alt + %Right スクロール・バーを右へ %Control + スクロール・バーを左へ %Prev_Screen %Control + スクロール・バーを右へ %Next_Screen %Control + %Alt スクロール・バーを上へ + %Left %Control + %Alt スクロール・バーを下へ + %Right %Control + %Alt + %F1 %Control + %Alt + %F4 %Control + %Alt + %F14 %Control + %Alt + %HELP __________________________________________________________ (次ページに続く) 5-8 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.2制約 表 5-1 (続き) Motifレイアウトでのプラットフォームが予約し ているキー __________________________________________________________ キーの組み合わ せ_______________Motifの機能______________________________ %Control + %Alt + %DO %Control + %Alt + %F17 %Control + %Alt + %F18 %Control + %Alt + %Find %Control + %Alt + %Insert %Control + %Alt +_%Remove_________________________________________________ ___________________________________________________________ 5.3 Motifレイアウトと文字セル・レイアウトの性能の違い Motifレイアウトに含まれるパネルと,文字セル・レイアウトに 含まれる同じようなパネルでは,初期表示時間に大きな違いがあ ります。これは,Motifウィンドウ・システム (DECwindows)に おける,VMS端末ドライバにはないオーバーヘッドが原因です。 Motifパネルの表示に必要な時間は,そのパネルに含まれている オブジェクトの数に関係しています。このため,パネルの中のリ テラル,フィールドおよびボタンの数を減らすことで,パネルの 表示に要する時間を短縮することができます。 実行時システム(フォーム・マネージャ)について 5-9 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 ___________________________________________________________ 5.4 本リリースで修正された問題 o DECformsバージョン2.1Aは「スレッド・セイフ」です。 「マルチスレッド」ではありません。これにより、アプリ ケーションがスレッドを制御できます。 o 新バージョンと既存のバージョンのDECformsアプリケーシ ョンのふるまいは同等か、あるいはDECforms V1.4よりも向 上しています。これは、DECformsが「マルチスレッド」で はなくなったからです。 o DECformsバージョン2.1では、アルファ版DECforms V1.4 (C/D)の変換スィッチである /NOMEMBER_ALIGNMENTを使っ て作成したにもかかわらず、フォームがナチュラル・アラ インメントになってしまいました。この問題は、修正され ています。 o DECformsバージョン2.1では、それ以前のバージョンの DECformsを使って出力されたマルチ・フオームオブジェ クトがイメージとリンクすると、無限ループに入りフォー ムの読み込みがハングしてしまい、トレースが可能な場合 には、トレース・ファイルが "Converting an old style form to latest format."というメッセージを出して終了さ せていました。この問題は、修正されています。 o "Session Not Found"とPEU呼び出し引数のエラーが、重大 な例外を結果的に招いていました。これは、呼び出し引数 のアラインメント・サイズの計算を誤ったため、フォーム オブジェクトがコンバージョン・エラーを引き起こしたか らです。この問題は、修正されています。 o DECformsバージョン2.0では 任意選択のFORMS$K_STACK_ SIZEが追加されていましたが、DECforms V2.1以降では必要 性がなくなりました。ただし、V2.0との互換性を保つため に存在しています。 このオプションはDECformsの最新バージョンで使用して も、サポートされない(機能しない)ため、 取り除いて ください。 o 以前のバージョンのDECformsでは,PRINT応答ステップを発 行して現在のDECforms画面の表現を生成すると,誤った結 果が得られることがありました。ディスプレイ上のパネル が,出力ファイルの中では異なった形になることがありま した。さらに,他のDECformsセッションのパネルは,出力 5-10 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 ファイルには取り込まれませんでした。この問題は,本リ リースでは修正されています。パネルを指定せずにPRINTま たはPRINT IMMEDIATE応答ステップを発行すると,現在表示 されているすべてのDECformsパネルが出力プリント・ファ イルに取り込まれます。 以前のバージョンのDECformsでは、複数行メッセージ・ビ ューポートに表示されたメッセージが重なり合うことがあ りました。この問題は、修正されています。 o DECformsバージョン2.0では、Motifレイアウトからのパ ネル・オブジェクトが異なる位置に表示されました。これ は、画面応答ステップか、あるいは、起動応答ステップか によってパネルの位置が決められたためです。 また、バ ージョン2.0では パネルのマージンが、誤って、起動応答 の結果表示されるオブジェクトと同位である0(ゼロ)に加 えられることがありました。この問題は、修正されていま す。 o Motifフォント DECforms V2.0のMotifレイアウトは、フォントの省略時設 定、および、フォールバックが、きちんと選択されていま せんでした。ほとんどの場合、指定されたフォントとすべ て同じ様態が揃っていないと、Motifの省略時設定があては められました。DECforms V2.1では、フォントフォールバッ ク機能は、同族であること前提に、決められたサイズに近 いものを探して、重さ、あるいはスタイルの違いで試すよ うになりました。これにより、IFDL指定に少しでも近いも のが得られるようになります。 DECforms V2.0では、ISO8859-1以外の文字セット、例え ば、Family Symbolsセットなどのフォントを使うと、表示 されず、 代わりにMotifの省略時設定フォントが使われま した。 Motifレイアウトでの指定フォントに、よりマッチするも のを見つけるために導入された探索機能として、適当なフ ォールバックを見つけ、最終的な省略時設定をするまでに は、より時間がかかります。しかし、一度指定のフォント を見つけるとCPU上においても、もう時間はかけません。 実行時システム(フォーム・マネージャ)について 5-11 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 そのふるまいを向上させるためには、 以下のファイル内 にあるフォントを選択してください。 DECW$FONT_DIRECTORY.DAT これは、以下のディレクトリ内にあります Directory SYS$COMMON:[SYSFONT.DECW.75DPI] Directory SYS$COMMON:[SYSFONT.DECW.USER_75DPI] Directory SYS$COMMON:[SYSFONT.DECW.100DPI] Directory SYS$COMMON:[SYSFONT.DECW.USER_100DPI] これらのフォントは、使用中の(75dpiあるいは100dpi)モ ニター密度用システムに実際存在しています。 .DATのファイルには、XLFDフォーマットのフォントのリ ストがあります。.75dpiと.100dpiのディレクトリには、 Motif発売時のフォントがあります。また、.user_75dpi と.user_100dpiのディレクトリには、Motifインストール 後のシステム に加えられたフォントがあります。これら は、たいていが、レイヤード製品です。   o 以前のバージョンのDECformsでは,VT420で,エスケープ・ ルーチンからフォーム・リクエストが発行されると,スク ロール領域の表示が破壊されることがありました。この問 題は修正されています。 o 日本語DECformsバージョン1.4では,フォーム・マネージャ は使用デバイスでカラーが使えるかどうかを誤って判断す ることがありました。このため,レイアウト選択に影響が および,フォーム・マネージャが誤ったレイアウトを選択 することがありました。この問題は修正されています。 o 日本語DECformsバージョン1.4では,非言語レイアウトを選 択するべきときに,非言語レイアウトの前に言語レイアウ トが選択されることがありました。この問題は修正されて います。 o 一定の状況下で,バージョン1.4のフォーム・マネージャ は,表示装置で複数のセッションが実行されているときに ハングすることがありました。この問題は本リリースで修 正されています。 5-12 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 o 日本語DECformsバージョン1.4では,フォーム・マネージ ャはDECformsアプリケーションを終了するときに,キー パッド状態を誤って設定することがありました。この問 題は修正されています。現在,フォーム・マネージャは, DECformsを実行する前に設定されていたキーパッド状態に リセットします。 o 日本語DECformsバージョン1.4のフォーム・マネージャは, DECtermの元の幅が80あるいは132以外の値に設定されてい ると,DECtermを正しい幅に復元することができませんでし た。この問題は修正されています。 o フォーム・マネージャは,一定の状況下で,テキスト・パ スがヘブライ語に指定されているフィールドを,REFRESH応 答ステップの発行後に右から左ではなく左から右に表示す ることがありました。この問題は本リリースで修正されて います。 o 日本語DECformsバージョン1.4では,テキスト・パスがヘブ ライ語に指定されており,No Data Inputが指定されてい るフィールドで不正なキーを押すと,カーソルの位置がお かしくなることがありました。この問題は修正されていま す。 o 日本語DECformsバージョン1.4では,VT420上の横スクロー ルするデータの表示がおかしくなることがありました。こ の問題は修正されています。 o 日本語DECformsバージョン1.4では,表示の内容の再描画に 2回以上のI/O操作が必要な場合,VT420上の一部のパネル・ オブジェクトの位置がおかしくなることがありました。こ の問題は修正されています。 o VT420で,DOUBLE HIGHオブジェクトとDOUBLE WIDEオブジェ クトの表示が,REFRESH ALL応答ステップの後におかしくな ることがありました。この問題は修正されています。 o 日本語DECformsバージョン1.4では,横倍角オブジェクトを 含む複数のパネルを横並びにすると,片方のパネルが残り のパネルを消してしまうことがありました。この問題は修 正されています。 o 日本語DECformsバージョン1.4では,フォーム・レコード・ フィールドをTMタイプとして定義し,対応するデータ項目 を用意しなかった場合,フォーム・マネージャは,データ 収集の過程でTMフィールドの初期化を行うときに致命的な 内部エラーを発生させていました。この問題は修正されて 実行時システム(フォーム・マネージャ)について 5-13 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 います。TMフィールドは00:00:00 17-Nov-1858に初期化さ れます(日付時刻の初期化と同じ)。 o 以前のバージョンのDECformsでは,フィールド・タイムア ウトが起こっても,そのフィールドに適用された起動時の 強調表示は取り除かれませんでした。この問題は修正され ています。 o バージョン1.4以前のDECformsでは,リクエストの中で(VMS APIまたはポータブルAPIによって)send_control_textが指 定されており,send_control_text_countが0に等しいと, 致命的エラーが生成され,アプリケーションの実行が停止 しました。バージョン2.*、では,リクエストの中で(VMS APIまたはポータブルAPIによって) send_control_textが指 定されている場合,send_control_text_countとしては0を 含む実際の送信制御テキスト数以下の値が指定できます。 o 日本語DECformsバージョン1.4では,WHEN **条件を持つ反 復グループに起動時の強調表示があると,予期しない強調 表示が起こったり,サブスクリプトの範囲を超えたという エラーが発生することがありました。この問題は修正され ています。 o バージョン1.4のフォーム・マネージャは,Empty Field条 件とMinimum Lengthフィールド検証を正しく評価しません でした。とくに,置換文字,符号および通貨をデータ文字 として評価していました。このため,誤った評価結果が得 られていました。これらの問題は修正されています。 o バージョン1.4以前のフォーム・マネージャは,"C"入出 力様式文字を含んでいる入出力様式フィールドの中の AUTOSKIP条件を誤って計算していました。この問題は修正 されています。 o バージョン1.4のフォーム・マネージャは,一定の状況下 で,仮想メモリの割り当て解除操作に失敗することがあり ました。この問題は修正されています。 o 日本語DECformsバージョン1.4では,日付フィールドの EMPTY FIELD条件はFALSEに設定されていました。このふ るまいは修正されています。現在のフォーム・マネージャ は,ファイルにスペースが含まれている場合,日付フィー ルドのEMPTY FIELD条件をTRUEに設定します。 o 日本語DECformsバージョン1.4では,マルチセッション処理 の際にトレース機能が誤ってオフにされることがありまし た。この問題は修正されています。 5-14 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 o 以前のバージョンのDECformsでは,フォーム・マネージャ はDATEデータ項目の値の日付と時刻の両方の部分を保存し ていました。このため,フォーム・マネージャが後に条件 式の中でDATEデータ項目を他のDATEデータ項目と比較する とき,日付が正確に一致している場合でも,タイム・スタ ンプのために比較は成功しませんでした。この問題は修正 されています。これらのフィールドの時刻の部分は,この ような場合には無視されます。 o 日本語DECformsバージョン1.4のバージョン1.4-5から1.4- 12までのリリースでは,右揃え,置換および浮動符号の数 値フィールド(たとえば入出力様式が99999RSのフィールド) にデータを入力するときに,数字を入力してから,それを DELETEキーで削除すると,左端の位置にゼロ(0)の文字が表 示されました。この問題は修正されています。 o 日本語DECformsバージョン1.4では,一定の状況下で,浮動 符号が含まれている右揃えの数値フィールドで,数字を入 力したためにその符号が左端の位置に移動したとき,その 後DELETEキーで数字を削除すると,符号はフィールドの左 端の位置に残ったままになることがありました。この問題 は修正されています。 o 以前のバージョンのDECformsでは,ファンクション応答の 途中で現在の項目が起動解除または保護された場合,フォ ーム・マネージャはその項目の検証応答を実行しました。 この問題は修正されています。検証応答はアクセス不可能 な項目については実行されません。 o 日本語DECformsバージョン1.4では,オペレータがフィール ドを変更した場合,FIELDIMAGEはENTRY RESPONSEの実行の 前に1回,データ入力の後に1回,合計で2回更新されまし た。また,入力応答の中でIF応答ステップとLET応答ステッ プの組み合わせによって現在のフィールド値が変更された のに,FIELDIMAGEが更新されないこともありました。この 問題は修正されています。 o 日本語DECformsバージョン1.4では,同じパネル上に異な る寸法を持つ複数のグループを指定し,そのグループに WHEN条件が含まれていた場合(たとえばHIGHLIGHT WHEN), フォーム・マネージャは,他のパネルがオーバラップして いたグループに移動を試みるときに,リクエストを誤って INVHIBOUNDで終了させることがありました。 実行時システム(フォーム・マネージャ)について 5-15 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 o 以前のバージョンのDECformsでは,フォーム・マネージャ は,複数オカレンス・グループの1つのオカレンスから別 のオカレンスに移動するときに,複数オカレンス・グルー プの内側にあったグループから出ることができませんでし た。受け入れフェーズの中で,現在の起動項目がフィール ドG1(1).G2.Fのときに,フィールドG1(2).G2.Fへの移動が 発生した場合,グループG1(1).G2の検証応答と終了応答, およびグループG1(2).G2の入力応答は,実際には実行しな ければならないのに省略されていました。この問題は修正 されています。 o 以前のバージョンのDECformsでは,フォーム・マネージャ は終了検査段階でCURRENTデータ項目の更新を行いませんで した。データ・グループ宣言のCURRENT句で使用されていた データ項目は,起動リストの検証時に更新されませんでし た。本来,これらのデータ項目は,フィールドの各オカレ ンスが検証されるごとに更新しなければなりません。この 問題は修正されています。 o 以前のバージョンのDECformsでは,フォーム・マネージャ は終了検査段階でグループ検証応答を必要以上に実行して いました。終了検査段階で,フォーム・マネージャはグル ープの終了時ではなく,各フィールドのオカレンスが検証 されるたびに,グループ検証応答を実行していました。こ の問題は本リリースで修正されています。 o 日本語DECformsバージョン1.4では,長さが32765バイトよ りも大きいフォーム・データ項目を指定すると,DISABLEリ クエストはエラー・ログ・ファイルの記録以外には何の通 知も行わずに失敗していました。このDISABLEリクエストの 失敗は,判別が困難で,フォーム・マネージャの実行時に ハング条件を引き起こすことがあります。ハング条件は以 下の状況で発生します。 - 同じデバイスに対するセッションが2つあり,大きなフ ォーム・データ項目を使用しているセッションが無効 になっている場合 - 続けてフォーム・リクエストが2番目のセッションに送 信された場合 この問題は現在では修正されています。 5-16 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.4本リリースで修正された問題 o 以前のバージョンのDECformsでは,パネル表示句の属性 が,フィールド表示句の属性とマージされないことがあり ました。パネルで表示句が指定されており,パネルの中の フィールドが,FOR句を含んでいる属性を参照している表示 句を指定していた場合,FOR句の中のデバイス・タイプ上で パネルが表示されると,パネルの表示属性はフィールドの 属性とマージされず,フィールドの属性に置き換えられま した。この問題は修正されています。 o 日本語DECformsバージョン2.0には,FORMS$K_STACK_SIZEと いう名前の新しいリクエスト・オプションが追加されてい ます。省略時に,DECformsは,各リクエストの実行のため にDECthreadsが使用する40 x 512バイト/ページ(20,480バ イト)のスタックを作成します。アプリケーションが"stack overrun"エラー・メッセージで異常終了した場合は,新し いFORMS$K_STACK_SIZEリクエスト・オプションを40よりも 大きな値で指定する必要があります。このとき,DECforms はその数に512バイト/ページを掛けたサイズのスタックを 作成し,この大きくなったスタックをDECthreadsに渡しま す。OpenVMSバージョン5.5-2のDECthreadsで使用できる最 大スタック・サイズは,合計で350,000バイトです。日本語 OpenVMSバージョン6.1ではこの制約は取り除かれます。 ___________________________________________________________ 5.5 既知の問題 o FORMS$_*シンボル値の変更 FORMS$_*シンボルの値、つまり、FORMS$_NOMALなどが、ア ルファ版DECforms V1.4から、アルファ版DECforms V2.1+に かけて変更されました。アルファ版DECforms V1.4にリンク されていたシンボルのリンカ位置によって決まるアプリケ ーションは、V2.1+用に再リンクする必要があります。シン ボル・ベクタの順序も 各バージョン間で変更になり、そ れにともない、値も変化しています。この問題がDECforms の将来のバージョンで再び発生しないように、必要な段階 を取り入れた結果、現在のDECforms V2.1のような形になり ました。 o パネル・グループのFIRST句のデータ項目 実行時システム(フォーム・マネージャ)について 5-17 実行時システム(フォーム・マネージャ)について 5.5既知の問題 複数のパネル・グループのFIRST句で,同じデータ項目を指 定すると,フォーム・マネージャは2つのグループのスクロ ールの調整を行わないことがあります。 o Control-Y/Continue後のカーソルの再配置 フォーム・マネージャは,文字セル・レイアウトの一部の フィールド・タイプで,Control-Y/Continueが発行された 後に,カーソルを最後のフィールド入力位置ではなくフィ ールドの先頭に移動することがあります。データは正しく 保たれますが,フィールド入力を続けるためにはカーソル を手作業で移動しなければなりません。このふるまいは, 端末ドライバの制約が原因で,将来のリリースのOpenVMSオ ペレーティング・システムでは解消される可能性がありま す。 o 文字セル・レイアウトでは,ブレークスルー・ライトQIOに より,入力を受け付けているフィールドの外側の表示領域 にカーソルが移動することがあります。 フォーム・マネージャがフィールドから入力を読み込んで いるときに,ブレークスルー・ライトQIOが発生すると,カ ーソル位置は,読み込み中の現在のフィールドから,ブレ ークスルー・ライトQIOによって書き込まれていたテキスト の末尾に移動することがあります。この結果,端末から入 力された文字は,ブレークスルー・ライトQIOによって書き 込まれたテキストの末尾に表示されます。 ブレークスルー・ライトQIOは,同報メッセージがデバイス に書き込まれており,同報トラッッピング機構が存在しな い場合に起こります。ブレークスルー・ライトQIOの例とし ては,新しいメールの通知や,バッチ・ジョブの完了の通 知などがあります。さらに,フォームが有効になっている 間に実行されているソフトウェアが,デバイスに書き込み を行い,カーソルの位置をおかしくすることもあります。 非同期FORMS$SENDリクエストの場合は,上記の制約は適 用されません。非同期FORMS$SENDリクエストはブレークス ルー・ライト機構を使用しますが,フォーム・マネージャ は,非同期FORMS$SENDによって更新されるフィールドの更 新後に,カーソル位置を正しく処理します。 この問題が起こるかどうかは,読み込み中の入出力様式に 左右されます。Simple Format 1の入出力様式文字列を除く すべての入出力様式で,この問題が発生します。 5-18 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.5既知の問題 o フォーム・マネージャは,エスケープ・ルーチンから再帰 的フォーム・リクエストが発行されるとハングします。 アプリケーションのフォームがエスケープ・ルーチンを呼 び出し,そのエスケープ・ルーチンが自分を再び呼び出す ような再帰的なフォーム・リクエストを発行すると,フォ ーム・マネージャは2回目の再帰の入力フェーズでハングす ることがあります。 o OUTPUT WHENによって上書きされるフィールドへのデータ入 力 浮動先頭符号または通貨記号を持つ右揃えの書式2の入出力 様式フィールドにデータを入力するとき,その内容がすべ て空白から成るOUTPUT WHEN文字列によって上書きされてい た場合,そのフィールドがいっぱいになる前に,いっぱい になったと判断されます。フィールドからいったん離れて 入りなおすか,初めにその内容を消去することで,この現 象を避けることができます。 同じタイプのフィールドに入力を行っているとき,左矢印 キーを使用してカーソルを左に移動し,浮動符号または通 貨の始点を越えた場合,フィールドにはゼロが誤って表示 されます。 o Motifレイアウトにおけるオーバラップしたグループ パネルに,互いにオーバラップするグループが含まれてい る場合,グループの1つが正しいサイズで表示されないこと があります。このとき,グループの1つの中の項目に移動し ようとすると,「移動できませんでした」というメッセー ジが表示されることがあります。このキットでは,オーバ ラップするパネル・グループは使用するべきではありませ ん。 o Motifレイアウトにおける複数カーソル オペレータがDECformsアプリケーションを使用するとき, 複数フィールドを持つパネルが以下のような条件を満たし た場合 1. 起動されている 2. フィールド間の移動後に,ファンクション・キー(たと えばCtrl-Z)によって送信される 3. 同じセッションの間に,後に再起動される 実行時システム(フォーム・マネージャ)について 5-19 実行時システム(フォーム・マネージャ)について 5.5既知の問題 そのパネルの2回目以降の起動では,複数のフィールドでカ ーソルが点滅する可能性があります。入力フォーカスを示 しているのは,現在起動されているフィールドのカーソル だけです。それ以外のカーソルは,パネルが最後に起動さ れていたときにフォーカスを持っていたフィールドに表示 されています。現在起動されているフィールド以外で点滅 しているカーソルには,意味はありません。フィールドへ の入力として入力されたデータは,起動されている唯一の フィールドにのみ表示されます。 Motifパネルで,複数のカーソルが表示されるのを避ける ためには,パネルに"OK"ボタンを追加し,そのボタンに, Return応答ステップを含むTrigger Objectファンクション 応答を割り当てます。これにより,パネルのデータの送信 時に,カーソルを表示せずにおくことができます。 o Motifレイアウトのスクロール・グループの中のスクロール するテキスト・フィールド Motifレイアウトで,スクロールするテキスト・フィールド が,複数オカレンスのスクロール・グループに属している とき,マウスを使用してこれらのテキスト・フィールドの 1つに移動することはできません。テキスト・フィールド をポイントしてマウス・ボタンをクリックすると,フォー カスは,単に直前にフォーカスを持っていた項目に戻りま す。ただし,次項目が省略時に割り当てられているPF4など のファンクション・キーを使用して,スクロールするテキ スト・フィールドを移動することはできます。また,テキ スト・フィールドとグループのどちらもスクロール・バー を持っていない場合には,マウスを使用して,グループ内 のテキスト・フィールドに移動することができます。 o アルファ版レコード・レイアウトと言語コンパイラの問題 について OpenVMS呼び出し基準(1994年3月)によると、アルファ版 レコード・レイアウトには、「VAX互換性方式」と、「アラ インメント方式」の2つの方式が定義されています。しか し、すべての アルファ版OpenVMS言語がこの基準に添って いるというわけではありません。 DEC BASICコンパイラは「アラインメント方式」レコード・ レイアウトをサポートしません。そのため、DEC BASICをア ルファ上で用いる際は、FORMS TRANSLATEの、/NOMEMBER_ ALIGNMENTスィッチを使うか、"using byte alignment"句を 5-20 実行時システム(フォーム・マネージャ)について 実行時システム(フォーム・マネージャ)について 5.5既知の問題 それぞれのフォーム・レコードに追加してください。DEC ADAコンパイラは、命令文"Pragma COMPONENT_ALIGNMENT"の インライン・コードを通してのみ「VAX互換性方式」レコー ド・レイアウトで用いることができます。 DEC ADA およ び DEC COBOLコンパイラは、 レコードの最後に、パデ ィングが加えられる限り、 アラインメント方式レコード レイアウトに、準拠しません。このことは、有効レコード 長を定義する上で、混乱を招くかもしれません。DECforms では、アラインメント方式レコード長について呼び出し 基準定義の予測を行います。これは、DEC ADA およびDEC COBOL定義に利用できます。しかし、レコード長規格の使用 で、エラーが表示される場合があります。新一覧表ファイ ルの「構造レイアウト一覧表」セクションには、DECforms レコード・レイアウト予測一覧表があります。これら2 つの言語の違いはレコード長で、これは、最後のフィール ド・オフセットと それと同じフィールド・サイズを足す ことできまります。標準規定によれば、レコード長は、ア ラインメントの倍数とされ、したがって、サイズは、必要 にともないパディングを行って、最大増加量分の長さの同 倍数となります。例えば、 ロングワード・アラインメン トのレコードフィールドは、長さが、4バイトの倍数、 ク オッドワードでは、8バイトの倍数になります。 ___________________________________________________________ 5.6 VT400サポート 日本語DECformsバージョン2.1Aは,VT400シリーズの端末をサポ ートし,新しい画面更新方式を使用しています。また,DECforms はVT420端末の複数ページを利用して,VT420端末に追加された矩 形領域操作を使用します。画面の更新はオフスクリーン・ページ で行われるので,画面ははるかにスムーズに表示されるようにな ります。 VT420端末は,最高38400 baudのデータ転送速度と,80または132 桁に,24,25,36,48または72行の画面サイズをサポートしてい ます。DECformsは24,25,36および48行で,80桁と132桁の両方 をサポートしています。DECformsはVT420ハードウェアが備えて いる72行ページをサポートしますが,このページ長でのソフトウ ェア制御パニングはサポートしていません。 実行時システム(フォーム・マネージャ)について 5-21 実行時システム(フォーム・マネージャ)について 5.6 VT400サポート DECformsはVT420端末の複数ページ機能を使用するので,データ を転送しているアプリケーションに割り込むと,カーソルがオフ スクリーン・ページに残されることがあります。この状況を修正 するには,OpenVMSプロンプトに,カーソルをディスプレイに移 動するエスケープ・シーケンスを追加します。プロンプトを変 更するには,login.comに次のコマンド・シーケンスを追加しま す。 $ decpccm[0,7] = 27 ! Initial escape character $ decpccm = decpccm + "[?64h" ! The balance of DECPCCM $ set prompt = "''decpccm'''f$environment("PROMPT")'" DECformsはVT420端末の矩形領域操作を使用するので,以前のVT シリーズにあったスクローリングの制約は,VT420端末には適用 されません。画面の幅よりも小さいスクロール領域を作成して も,性能が大幅に低下することはありません。 VT420端末では,F1からF5までのキーの省略時のふるまいを無効 にして,ファンクション・キーとして使用することができます。 このためには,デバイスのキーボードS ET-UPオプションを使用 します。フォーム・マネージャは,フォーム中で宣言されてお り,VT420のSET-UPメニューでFkey状態に設定されていれば,こ れらのファンクション・キーをサポートします。また,この端末 では,ソフトウェアからComposeキーとAlternateキーの両方にア クセスできます。Composeキーは,ローカルComposeが構成されて いる場合にサポートされます。この制約は,将来のリリースの DECformsでは取り除かれる可能性があります。 ___________________________________________________________ 5.7 VT500サポート DECformsバージョン2.1AはVT500-シリーズ端末をサポートしま す。DECforms VT500-シリーズ端末は、前述のVT400-シリーズ端 末と同じ新機能を利用しています。 5-22 実行時システム(フォーム・マネージャ)について 6 ________________________________________________________________ 逆トランスレータについて この節では,日本語DECformsバージョン2.1Aの逆トランスレータ の既知の制約と問題について説明します。 ___________________________________________________________ 6.1 本リリースにおける制約 o 矩形およびポリライン・リテラルは絶対座標で出力される 逆トランスレータは,矩形とポリラインの行および列句を 出力するときに,変換前の指定がどうであっても,これら の句を絶対座標を使用して出力します。 o 変換と逆変換ではコメントが移動することがある IFDLトランスレータが作成する,フォームのコンパクトな バイナリ表現は,フォーム・マネージャによって使用可能 であり,パネル・エディタやフォーム開発環境で効率的に 操作できます。この構造の操作効率を上げるために,トラ ンスレータはコメントの正確な位置を記録しないようにし ています。これは,コメントは任意の構文トークンの間に 置けるからです。そのかわりに,フォーム・ファイル中の コメントのおおよその位置しか記録していないので,逆ト ランスレータがフォーム・ファイルからIFDLファイルを再 構築するときには,コメントの位置が元のファイルから移 動することがあります。 IFDLトランスレータに加えられた変更のために,コメント 位置の近似方法は,DECformsバージョン1.0からバージョン 1.3までで異なる可能性があります。 逆トランスレータがIFDLファイルを作成した後,コメン トは,その後トランスレータや逆トランスレータを使って 処理を繰り返しても移動しないような位置に置かれていま す。効果的な対処法としては,コメントを一度移動させて おき,その位置に合った内容に変更するという方法があり 逆トランスレータについて 6-1 逆トランスレータについて 6.1本リリースにおける制約 ます。これが不適当な場合の次善の策は,逆トランスレー タを使用しないこと,つまりパネル・エディタとフォーム 開発環境を使用しないことです。パネル・エディタとフォ ーム開発環境を使用しないことにより,IFDLは,コンパイ ラと実行コンポーネントを持つ通常のテキスト・ベースの 言語として扱われます。 o COPY format 1文は変換と逆変換の過程で失われる COPY format 1文は,IFDLファイルの中で,コメントが置け る場所ならば任意の場所に置けるので,トランスレータは COPY文でもコメントと同じ問題を抱えることになります。 しかし,COPY文を移動するとIFDLファイルの意味が変わる 可能性があるので,誤ったIFDLファイルを作成する危険を 避けるために,COPY文は,コピーされる情報を逆変換した ものに置き換えられます。 COPY文が失われてはならない場合,唯一の対処法は,逆ト ランスレータを使用しないこと,つまりパネル・エディタ とフォーム開発環境を使用しないことです。 DECformsは,COPYの代わりとして使用できる再利用可能な モジュールであり逆変換が可能な集中ライブラリを用意し ています。COPY format 1に対する制約は,共通データ辞書 にアクセスするCOPY format 2には適用されません。逆トラ ンスレータはこれらのCOPY文を保存します。 6-2 逆トランスレータについて 7 ________________________________________________________________ オブジェクト出力について ___________________________________________________________ 7.1 本リリースにおけるドキュメント化されていない 新機能 この節では、本リリースにおける出力オブジェクトの機能につい て説明します。 7.1.1 共用フオームと共用手続き型エスケープ・ルーチンによるアプ リケーション作成 フォームあるいは、手続き型エスケープ・ルーチンを含む共用イ メージを使い、 OpenVMSアルファ版でアプリケーションを作成 する場合、その共用イメージ組立時に、以下のリンカを 任意選 択してください。 symbol_vector=(Forms$AR_Form_Table=Data) 例えば、共用イメージとして、フォームのアプリケーション見本 を作成するには、以下のようなリンカ・コマンド,鮖箸い泙后  例5、共用フォーム・イメージのリンク $ link/share/exe=FORMS$SAMPLE_FORM FORMS$SAMPLE_FORM, sys$input/opt symbol_vector=(Forms$AR_Form_Table=Data) この共用イメージがアプリケーション・プログラムにリンクされ ると、それによって、フォームがイメージ内にアクセスすること ができるようになります。 これに加え、もし、 PEUが、"FORMS EXTRACT OBJECT" "FORMS EXTRACT OBJECT/NOFORM_LOAD"を使った .OBJを含まない 共用 ライブラリ内に存在した場合、共用手続き型エスケープ・ルーチ ンのエントリ・ポイントも、それぞれ宣言する必要があります。 (get_deposit, get_checkそしてprint_panelの)手続き型エスケ オブジェクト出力について 7-1 オブジェクト出力について 7.1本リリースにおけるドキュメント化されていない 新機能 ープ・ルーチンがこの目的のための.OBJとは別の、 つまり、 SAMPLE_PEUS.OBJに あると仮定すると、 以下のようになりま す。   例6.離鵝Ε侫 璽犂超 任龍ν兌蠡海 織┘好院璽廖Ε襦 璽船鵑離ぅ瓠璽犬離螢鵐  $ link/share/exe=SAMPLE_PEUS, SAMPLE_PEUS, sys$input/opt symbol_vector=(get_deposit=Procedure, - get_check=Procedure, print_panel=Procedure) ___________________________________________________________ 7.2 本リリースにおけるバグの修正 o DECformsバージョン1.4アルファ版では、 オブジェクト出 力ユーティリティで、.OBJファイルのヘッダーの長さが不 完全になることがありました。このため、LINK/MAPを使う とリンカが破壊されました。 o 日本語DECformsバージョン1.4では,オブジェクト出力ユー ティリティは共用不可能なオブジェクトを出力し,フォー ム・ロードを含んでいる共用可能イメージのインストール が不可能になっていました。現在のオブジェクト出力ユー ティリティは,フォーム・ロードを含んでいるpsectにSHR 属性を設定します。 7-2 オブジェクト出力について 8 ________________________________________________________________ フォーム開発環境について この節では,日本語DECformsバージョン2.1Aのフォーム開発環境 (FDE)の既知の制約と問題について説明します。 ___________________________________________________________ 8.1 本リリースにおけるバグ修正 o 日本語DECformsバージョン1.4では,フォーム開発環境 (FDE)はEXTRACTユーティリティ・ファイルに対してゼロ・ ブロックのオブジェクトを作成していました。一方,DCLコ マンドのFORMS TRANSLATEとEXTRACT OBJECTは同じ.IFDLフ ァイルに対して正しい操作を行っていました。この問題は 修正されています。 o 日本語DECformsバージョン1.4では,言語句を含むレイ アウトを選択し,Test Enableオプションを使用してレイ アウトのパネルをテストしようとすると,この要求は"No matching layout"というメッセージで失敗しました。この 問題は修正されています。 o 日本語DECformsバージョン1.4では,74文字よりも長いUse Help Messsageを含んでいるパネルに対してModify Panelを 実行すると,FDEが内部エラーのために終了することがあり ました。この問題は修正されています。 この修正は,DECformsテスト・ユーティリティにも適用さ れます。日本語DECformsバージョン1.4では,テスト・ユー ティリティを/LAYOUT修飾子を付けて起動したときに,その レイアウトが言語句を含んでいると,テスト・ユーティリ ティは"No matching layout"というメッセージを返しまし た。この問題も修正されています。 フォーム開発環境について 8-1 フォーム開発環境について 8.2本リリースにおける制約 ___________________________________________________________ 8.2 本リリースにおける制約 o MotifレイアウトとPRINTERレイアウト MotifレイアウトまたはPRINTERレイアウトに対してFDEを起 動することはできません。文字セル・レイアウト以外のレ イアウトに対してFDEを起動すると,予期しない結果が生じ ます。 o DECformsにおける巨大なフォーム・ファイルの扱い FDEはユーザのために数多くのユーティリティを呼び出しま す。この便利な機能の副作用の1つが,メモリが大量に消費 されることです。フォームもメモリを消費します。フォー ムが非常に大きくなると(20,000行から50,000行ほど),メ モリ・クォータがなくなる可能性があります(物理メモリで はありません)。この場合には,「仮想メモリが足りませ ん」というようなエラー・メッセージが表示されます。プ ロセスにより多くのメモリを割り当てるためには,2つのパ ラメータ値を増やします。 - 番目のパラメータ,Page File Quotaは,SHOW PROCESS /QUOTAコマンドまたはF$GETJPI("","PGFLQUOTA")で確 認することができます。AUTHORIZEを使用してこのパラ メータの値を増やすときは,必要に応じてsysgenパラ メータVIRTUALPAGECNTも増やすようにしてください。 - 番目のパラメータ,VIRTUALPAGECNTはF$GETSYI("VIRTUALPAG- ECNT")で確認することができます。PGFLQUOTAを VIRTUALPAGECNTよりも大きな値に増やしたときは, VIRTUALPAGECNTをPGFLQUOTA以上の値にする必要が あります。PGFLQUOTAの値がVIRTUALPAGECNTを超え ていない場合は,VIRTUALPAGECNTを変更する必要は ありません。PGFLQUOTAは各ユーザごとに指定しま すが,VIRTUALPAGECNTはsysgenパラメータです。 VIRTUALPAGECNTの変更にはAUTOGENを使用しなくてはな りません。 o FDEに影響を与えるその他のシステム・パラメータとクォー タ 8-2 フォーム開発環境について フォーム開発環境について 8.2本リリースにおける制約 VAXTPUまたはVAX LSEをFDEから起動すると問題が発生する 場合には,以下のパラメータを確認してください。 1. システム・パラメータMAXBUF。2048以上の値に設定し てください。 2. システム・パラメータPROCSECTCNT。64以上の値に設定 してください。 3. ユーザ・クォータBYTLM。MAXBUF以上の値に設定してく ださい。 o 上書きされるエラー・メッセージ ヒントの表示はエラー・メッセージを上書きします。PF1- PF2キーを押すと,ヘルプ・メッセージ(ヒント)の自動表示 機能がオンになります。これらのヒントが,エラー・メッ セージ("failed validation"などのメッセージ)を上書きす ることがあります。 o DECformsにおけるEVE/TPUヘルプ・ライブラリ表示 EVE/TPUのヘルプ・ライブラリ表示には,既知の問題があり ます。EVE/TPUがSUBTOPICSを表示すると,トピックの先頭 の文字が表示されません。これは単に表示上の問題です。 ___________________________________________________________ 8.3 既知の問題と対処法 o FDEの中での端末幅の変更に関する問題 FDEの中でTESTオプションまたはEDIT PANELオプションを使 用するとき,使用するパネルの端末幅がメインFDEセッショ ンの端末幅と異なる場合,オプションを終了してメインFDE メニューに戻っても,端末幅はリセットされません。 FDEを終了すると,端末幅は正しくリセットされます。 o DECforms for Open VMSにおけるFDEの中でのEVE$INITの使 用 EVEを起動すると,以下のものが探索されます。 1. 初期化ファイルをポイントする論理名EVE$INIT 2. 省略時のディレクトリに含まれる初期化ファイル フォーム開発環境について 8-3 フォーム開発環境について 8.3既知の問題と対処法 3. SYS$LOGIN:ディレクトリに含まれる初期化ファイル ただし,FDEはEVEに論理名EVE$INITだけを渡します(ステ ップ#1)。FDEは自分自身では初期化ファイルを探しませ ん。この結果,ファイルが省略時のディレクトリではなく SYS$LOGIN:ディレクトリにあると,EVEはそのファイルを見 つけることができません。 o DECforms for OpenVMSにおけるDECformsヘルプ・ライブラ リへのアクセス FDEの外部のEVEベースのエディタからFORMS$HELPLIB.HLBラ イブラリ(VAXTPU,EVEおよびLSEヘルプ)にアクセスするに は,VAXTPU編集(TPU$COMMAND.TPU)のスタートアップ・コマ ンド・ファイルに,以下のステップを追加します。 ! ! ----------- REQUIRED ------------- ! Tell EVE where the IFDL library is ! ---------------------------------- ! eve$declare_help_library( "FORMS", ! Facility name "FORMS$HELPLIB", ! Help library "", ! prefixing Topic in lib "For help on DECforms, type FORMS and press RETURN."); ! ! ----------- OPTIONAL ------------- ! ! Define EVE constants for multi-word topics. ! If you do not include these, ! then you will have to include UNDERSCORES ! between words for these help topics. ! eve$kt_topic_forms_copy_file := "copy_file"; eve$kt_topic_forms_copy_field := "copy_field"; eve$kt_topic_forms_form := "form"; eve$kt_topic_forms_form := "forms"; eve$kt_topic_forms_data := "data"; eve$kt_topic_forms_data_types := "data_type"; eve$kt_topic_forms_function_keys := "function_keys"; eve$kt_topic_forms_response_steps := "response_steps"; eve$kt_topic_forms_ifdl_concepts := "ifdl_concepts"; 8-4 フォーム開発環境について 9 ________________________________________________________________ パネル・エディタについて この節では,日本語DECformsバージョン2.1Aのパネル・エディタ に関する既知の制約と問題について説明します。 ___________________________________________________________ 9.1 本リリースにおける制約 o 文字セル・パネル・エディタを使用して,Motifまたは PRINTERレイアウトを編集することはできません。文字セ ル・レイアウト以外のレイアウト・タイプに対して文字セ ル・パネル・エディタを起動すると,予期しない結果が生 じます。 o FOR PRINTINGとして宣言されたビューポートに関連付けら れたパネルは,端末/DECtermのサイズと省略時のビューポ ート・サイズ(レイアウトのSIZE制限)の両方が,パネルの 収まるだけの大きさを持っていない限り,文字セル・パネ ル・エディタでは編集できません。 o コマンド・リコール・バッファは,16番目のコマンドで, コマンドの記録を停止します。リコール・バッファはそれ までの16個のコマンドを失わず,リコールすることも可能 ですが,16番目以降のコマンドは記録されません。 ___________________________________________________________ 9.2 本リリースにおけるバグの修正 o DECformsの以前のバージョンでは、PROTECTED WHENを指定 した際に、 入出力様式フィールド宣言のAUTOSKIPを選択 すると、文字セルパネルエディタが、 PROTECTED WHEN句 から取り除かれてしまいました。 この問題は、修正され ています。 o VT500サポートが、V2.1文字セルパネルエディタから抜けて いました。この問題は、修正されています。 パネル・エディタについて 9-1 パネル・エディタについて 9.2本リリースにおけるバグの修正 o 文字セル・パネル・エディタでは,メッセージが関連付け られているREQUIRE句を含むフィールドに移動しようとする と,アクセス違反が発生していました。アクセス違反は, MOVE SELECTED OBJECTコマンドまたはキーパッドのGOLD-KP カンマ・キーを使用して移動し,メッセージがリテラル 文字列ではなくメッセージ・コード("%XXXXX")から構成さ れていた場合に発生しました。この問題は修正されていま す。 o ISO Latin-5またはTurkishが現在の文字セットとして選択 されているときに,パネル・エディタのSet Character Set メニューの対応する選択項目が強調表示(ボールド体)され ないという問題が修正されました。 ___________________________________________________________ 9.3 対処法がある既知の問題 o 一部のフィールド記述属性で,属性の条件付き書式から無 条件書式への変更を行うと(PROTECTED/PROTECTED WHENと CONCEALED/CONCEALED/WHENが該当),その条件句はフォーム の内部表現から適切に削除されないことがありました。こ れはフォームの実行時の動作には影響を与えません。フォ ーム・マネージャは条件がないことを正しく認識します。 しかし,フォーム・ファイルをIFDLソース・ファイルに逆 変換する前に無条件属性を削除し,そのソース・ファイル をフォーム・ファイルに変換すると,条件付き属性が再び 現れることがあります。 パネル・エディタで削除した条件句が再び出現することを 避けるためには,フォーム・ファイルをIFDLソース・ファ イルに変換してから,IFDLソース・ファイルをフォーム・ ファイルに再変換します。この変換処理によって,使用さ れていない条件句が削除されます。 9-2 パネル・エディタについて 10 ________________________________________________________________ Motif準拠パネル・エディタについて ___________________________________________________________ 10.1 Motif準拠パネル・エディタ Motif準拠パネル・エディタ(MPED)は,バージョン2.0の新機能で す。MPEDはMotifおよびPrinterレイアウトのパネルを作成するた めのグラフィック・エディタです。文字セル・パネル・エディタ (CPED)と同じように,MPEDは.FORMファイルを入力として受け付 け,ビューポート,パネルおよびパネル・オブジェクトの追加, 変更および削除ができます。MPEDは,パネル・オブジェクトのサ イズや位置を簡単に指定できる便利なグラフィカル・インターフ ェイスを提供します。ビューポート,パネルおよびパネル・オブ ジェクトのさまざまなプロパティの追加,変更および削除ができ ます。MPEDはHyperHelpシステムを使用して,すべての操作につ いて状況依存ヘルプを提供します。パネル中に定義されているオ ブジェクトを階層形式で表示するためのオブジェクト・ブラウザ があります。.FORMファイルに対する変更はすべて記録されるの で,異常終了が起こった場合でも回復を実行することができま す。 ___________________________________________________________ 10.2 本リリースにおける制約 この節では,日本語DECformsバージョン2.1AのMotif準拠パネ ル・エディタに関する既知の制約と問題について説明します。 o オブジェクト位置を示すX値、 あるいはY値を手動入力し ても、画面は最新化されませんが、X値、Y値を入力後、イ ンクレメータあるいは、デクレメータのプッシュボタンを 使うと、画面は、きちんと最新化されます。 o MPED内に修正したフォームを保存すると、起動したDECterm MPEDにメッセージを表示することがあります。そのメッセ ージとは、以下のようなタイプです。:Block at XXXXXXXX ALLOC PC = XXXXXXXX/XXXXXXXX, DEALLOC PC = XXXXXXXX /XXXXXXXX ALLOC SIZE = XXX"これは、フォームを保存した Motif準拠パネル・エディタについて 10-1 Motif準拠パネル・エディタについて 10.2本リリースにおける制約 際、Motifが、MPED内のメモリ漏れを発見したことを示すも のですが、 無視しても構いません。 o UNITS POINTSが指定されているレイアウトは使用しないよ うにおすすめします。UNITS POINTSが指定されているレイ アウトを編集すると,予期しない結果が生じることがあり ます。この制約は将来のリリースのDECformsでは解決され る予定です。 o 作業領域に子ポリライン・オブジェクトがあるパネル・グ ループを選択し,パネル・グループを移動するためにポリ ラインの内側でMB1を押しても,パネル・グループは移動で きません。ただし,パネル・グループを選択し,パネル・ グループの内側,ポリラインの外側でMB1を押すと,パネ ル・グループを移動することができます。 o プッシュ・ボタンを作成し,Labelプロパティを右矢印,左 矢印,下矢印または上矢印に設定して,Shadowプロパティ をFALSEに設定すると,MPEDはプッシュ・ボタンを影つき で表示します。同じように,この矢印ラベル・プッシュ・ ボタンは,そのBorder_widthプロパティ設定を正しく表示 しません。これらのバグは,MPED作業領域におけるプッシ ュ・ボタンの体裁にのみ影響を与えます。Shadowプロパテ ィとBorder_Widthプロパティは,.FORMSファイルに正しく 書き込まれます。 o MPEDを起動して,点リテラルを含むPRINTERレイアウトの 中のパネルを編集すると,その点リテラルのLine_Width設 定が正しく表示されないことがあります。ただし,Line_ Widthプロパティを変更すると,点リテラルは正しく表示 されます。このバグは,MPED作業領域における点リテラ ルの体裁にのみ影響を与えます。Line_Widthプロパティ は,.FORMSファイルに正しく書き込まれます。 ___________________________________________________________ 10.3 本リリースで修正されたバグ Motif準拠パネル・エディタは、 オブジェクトの幅を示すX値、  高さを示すY値を誤って表示していました。手動で入力して も、インクレメンタ あるいは、 デクレメンタプッシュボタン を使って入力しても、この値は、 間違っていました。これは、 修正されています。 10-2 Motif準拠パネル・エディタについて 11 ________________________________________________________________ LSEサポートについて この節では,日本語DECformsバージョン2.1AのLanguage- Sensitive Editorサポートの新機能と,既知の制約および問 題について説明します。 ___________________________________________________________ 11.1 本リリースで修正されたバグ o 日本語DECformsバージョン1.4では,IFDLテンプレートの LSE展開機能に,"Builtin Function Response Up Page"と "Builtin Function Response Down Page"の構文オプション が含まれていました。これらのオプションはDECforms IFDL では無効です。これらのオプションはLSEテンプレートから 削除されています。 ___________________________________________________________ 11.2 本リリースにおける制約 o UNITS POINTSが指定されているレイアウトは、 使用しな いようにおすすめします。UNITS POINTSは、 IFDLの有効 構文に含まれていますが、UNITS POINTS指定のレイアウト を使用すると、予期しない結果が生じることがあります。 この制約は、DECformsの将来の で解決される予定です。 o DECforms言語サポート・パッケージには,FORMS$SEND, FORMS$RECEIVEおよびFORMS$TRANSCEIVE呼び出しで,REC_ ARGSという名前のプレースホルダが用意されています。 このプレースホルダは,プレースホルダSend_Record_ Message,Send_Shadow_Record,Receive_Record_Messageお よびReceive_Shadow_Recordのすべてのインスタンスを置換 します。DECformsのSend,ReceiveおよびTransceiveエン トリ・ポイントは,仮パラメータSend_Record_Message, Send_Shadow_Record,Receive_Record_Messageおよび LSEサポートについて 11-1 LSEサポートについて 11.2本リリースにおける制約 Receive_Shadow_Recordで,可変個の実パラメータを受け付 けます。 しかし,これらのパラメータの複数のオカレンスを,特 殊な処理なしで生成するようにForms$Entry_Pointsパッ ケージをインプリメントするのは不可能です。REC_ARGS はデータ・レコードとシャドウ・レコード・パラメータの 対を指示する目的を持っています。FORMS_$SENDの場合, REC_ARGSは送信データと送信シャドウ・レコードの対のイ ンスタンスを指示します。FORMS$RECEIVEの場合,REC_ARGS は受信データと受信シャドウ・レコードの対のインスタ ンスを指示します。FORMS$TRANSCEIVEの場合,REC_ARGS は上記の送信レコードと受信レコードの両者の対のインス タンスを指示します。FORMS$SEND,FORMS$RECEIVEおよび FORMS$TRANSCEIVEエントリ・ポイントの呼び出し書式の詳 細については,『日本語DECformsプログラマーズ・リファ レンス・マニュアル』を参照してください。 o LSEでPascalバッファを編集しているときに,Forms$Entry_ Pointsパッケージを使用してDECforms呼び出しを生 成する場合は,FORMS$SEND,FORMS$RECEIVEおよび FORMS$TRANSCEIVEについて生成されるキーワード構文 を,位置構文に変更しなければならないことに注意し てください。たとえば,Language-Sensitive Editorは FORMS$RECEIVE呼び出しについて次の構文を生成します。 forms$receive ( session_id := %{session_id.d}%, receive_name := %{receive_name.d}%, receive_count := %{receive_count.r}%, %[receive_ctext := %{receive_ctext.d}%]%, %[rec_ctext_ct := %{rec_ctext_ct.r}%]%, %[send_ctext := %{send_ctext.d}%]%, %[send_ctl_cnt := %{send_ctl_cnt.r}%]%, %[timeout := %{timeout.r}%]%, %[parent_id := %{parent_id.d}%]%, %[request_opt := %{request_opt.r}%]%, %[rec_args := %{rec_args}%]%) キーワード構文を位置構文に変更する必要があります。次 のFORMS$RECEIVE呼び出しは,正しい位置書式を示していま す。 11-2 LSEサポートについて LSEサポートについて 11.2本リリースにおける制約 forms$receive( session_id, { session id } 'account', { record name in form } , { Number of recs sent, default 1 } receive_ctl_txt::char25,{ Receive ctl text msg } receive_ctl_txt_ct, { Receive ctl text count } ,, { Send ctl text msg/count } , { timeout } , { parent request id } , { request options item list } account_temp, { the record } ); { shadow record } 引数REC_ARGSには,DECforms Pascal定義ファイルで, "LIST"属性が割り当てられています。この属性を使用する ことにより,1つの仮パラメータで,複数の実パラメータを 渡すことができます。FORMS$SEND,FORMS$RECEIVEおよび FORMS$TRANSCEIVE呼び出しの性質により,REC_ARGS引数で は複数のパラメータを渡す必要があります(たとえばデー タ・レコードとシャドウ・レコードなど)。ただし,キーワ ード構文では,1つの仮引数で複数の実引数を渡すことはで きません。 LSEサポートについて 11-3 12 ________________________________________________________________ 小切手アプリケーションについて この節では,日本語DECformsバージョン2.1Aのサンプルの小切手 アプリケーションの既知の制約と問題について説明します。 ___________________________________________________________ 12.1 本リリースの機能 o DECformsのサンプルの小切手アプリケーションは,Motifを サポートするように変更されています。ソース・ファイル の先頭のコメントに,アプリケーションを実行するための 手順が記されています。 ___________________________________________________________ 12.2 OpenVMSアルファ版用の本リリースでの制約 o DISBOL見本は使用できません。 小切手アプリケーションについて 12-1 13 ________________________________________________________________ デモンストレーション・フォームについて この節では,DECformsバージョン2.1Aのデモンストレーション・ パッケージの変更点について説明します。 ___________________________________________________________ 13.1 デモ・ガイドの位置 デモンストレーション・ガイドには,PostScriptとASCIIの両バ ージョンがあります。 FORMS$EXAMPLES:FORMS$DEMO_GUIDE.PS FORMS$EXAMPLES:FORMS$DEMO_GUIDE.TXT どちらのファイルも,適当なプリンタに出力することができま す。このガイドには,デモンストレーション・パッケージに関す る詳細が記されています。 ___________________________________________________________ 13.2 本リリースにおける新機能 o FORMS$DEMO_WORLD_FORM この新しいデモは,世界地図をウィンドウ・デバイスに 表示するためのグラフィックスの使用方法を示していいま す。文字セル・バージョンのFORMS$DEMO_GLOBE_FORMと比較 すると,グラフィックスの点で大幅に進歩しています。 o FORMS$DEMO_VT_WINDOWS_FORM バージョン1.4の,文字セル・インターフェイスでウィン ドウ・インターフェイスをシミュレートするFORMS$DEMO_ WINDOWS_FORMデモは,バージョン2.0では名前が変更されて います。 デモンストレーション・フォームについて 13-1 14 ________________________________________________________________ 日本語機能について ___________________________________________________________ 14.1 V2.0リリースからの変更点 日本語DECformsバージョン1.4では,半角カナ文字の文字セット 名としてPrivate_Katakanaという名前を使用していましたが, V2.0リリース以降、この名前はPrivate_DEC_Katakanaに変更され ています。バージョン1.4でPrivate_Katakanaを使用したアプリ ケーションは文字セット名を変更してください。 V2.0リリース以降、国際化にともないPrivate_MIA_Kanjiに割り 当てられる内部の値が変更になりました。したがって、Private_ MIA_Kanjiを使用するフォームは変換し直してください。 以前のバージョンの日本語DECformsのFMSコンバータは,FMSのフ ォーム中のSET1文字セットの文字をアスタリスク(*)で置き換え ていましたが,V2.0リリース以降、この機能は削除されました。 SET1の文字は日本語FMSでは半角カナとなっていますので,文字 セットをPrivate_DEC_Katakanaと指定するか,FIP等を使用して SS2付きの半角カナを入力し直してください。 ___________________________________________________________ 14.2 本リリースにおける注意事項 本リリースのマニュアルでは,PC/Windowsプラットフォームに関 する記述がありますが,日本語DECformsではこのプラットフォー ムはサポートされません。 本リリースでは,Private_DEC_Kanji文字セットにおいても半角 カナ文字をサポートします。パネル・エディタおよびIFDLソース ファイルではPrivate_DEC_Katakana文字セットの半角カナではな く,Private_DEC_Kanji文字セットを使用してください。 日本語機能について 14-1 日本語機能について 14.2本リリースにおける注意事項 本リリースでは,デバイスとして新たにMotifウインドウ環境を 使用することができます。ただし,以下の点が文字セル端末と異 なることにご注意ください。文字セル端末では入出力様式文字は 画面上の2カラムを表していますが,Motif端末では1文字を表し ます。そのため例えば漢字1文字は文字セル端末では入出力様式 文字2文字を用いて表されますが,Motif端末では1文字で表され ます。 サンプル/デモ・プログラムで日本語を入力する場合には, FORMS$FIELD_CHARSET_SUPERCEDE論理名を'1'に定義して使用して ください。 ___________________________________________________________ 14.3 本リリースにおける制限事項 フォーム・データの初期値としてPrivate_DEC_Katakana文字を使 用した場合,文字数が偶数の場合はフォームとしての動作には 支障がありませんが,奇数の場合には変換することができませ ん。また,いずれの場合もエディタ等で見ると文字化けが起こり ます。これは,当社のエディタでサポートする半角カナのコー ド・セットとPrivate_DEC_Katakana文字のコード・セットが異な ることによります。初期値を設定する場合には,上記の点に留 意した上でPrivate_DEC_Katakana文字を使用するか,もしくは Private_DEC_Kanji文字セットを使用してください。 Private_MIA_Kanji文字セットには次のような制限事項がありま す。この文字セットでは1文字の大きさは2バイトとなっています が,フォーム・データ領域の大きさが奇数バイトのときDECforms は1バイトの空白で余白を埋めます。また,テキスト・フィール ドにおいて改行コードは1バイトのライン・フィード記号となっ ています。これらの1バイト文字は本来Private_MIA_Kanji文字セ ットには含まれない文字です。したがってMIA標準に準拠するア プリケーションを開発する場合,これらの点にご注意ください。 レイアウト・コンバータおよび逆トランスレータでは,長い文字 列を2行に分割するとき行の最後が外字に化けて文字列が終了し ない場合があります。このような場合は,文字列の長さおよび位 置を変更して正しく分割されるようにしてください。 14-2 日本語機能について 日本語機能について 14.3本リリースにおける制限事項 文字セル端末のレイアウトで,縦横倍角のフォントを使用したフ ィールドにフィールドの長さより長い文字列を入力すると,フィ ールドの右に文字の一部がゴミとして残ることがあります。この ような場合には画面をリフレッシュしてください。 日本語機能について 14-3 15 ________________________________________________________________ 実行時メッセージの翻訳(DECforms VMS) DECforms VMSには,実行時メッセージを英語以外の言語に手作業 で翻訳するための機能が,フォーム開発者のために用意されてい ます。この機能の詳細については,変更可能な実行時メッセー ジ・サポート(インストレーション・オプションの1つ)をインス トールし,次のドキュメントをお読みください。 SYS$SYSROOT:[SYSHLP.EXAMPLES.FORMS.MESSAGES]DECFORMS_MESSAGES.TXT 実行時メッセージの翻訳(DECforms VMS) 15-1 16 ________________________________________________________________ FMSコンバータについて この節では、DECforms 2.1A FMSコンバータに関する新機能、既 知の制約 および 問題について説明します。 ___________________________________________________________ 16.1 本リリースにおける新機能 FMSコンバータがOpenVMSアルファ版用に使えるようになりまし た。 FMSコンバータについて 16-1 日本語DECformsリリース・ノート ________________________________________________________________ 1995年12月 発行 日本ディジタル イクイップメント株式会社 〒167 東京都杉並区上荻1-2-1 電話 (03)5349-7111 (大代表) ________________________________________________________________ AA-PML8D-TE