(Visual Fortran バージョン 6.5 から) Compaq Visual Fortran (Visual Fortran) バージョン 6.5A に追加された新機能には以下のものがあります。
Fortran COM サーバーは,プロセス外 (.EXE) COM サーバーを選択することができます。ユーザーは,DLL (プロセス内) COM サーバーと EXE (プロセス外) COM サーバーのどちらかのサーバー・タイプを選択することができます。他の Fortran COM サーバーの機能強化として,配列引数に形状引継ぎ配列が使用可能になり,サーバーに ISupportErrorInfo インタフェースを追加することができるようになったことです。
以下の新しいコンパイラ・オプションが追加になりました。
/assume:[no]protect_constants は,定数実引数が変更できるかどうかを指定します。
/check:arg_temp_created は,ルーチンが呼び出される前に,実引数が一時記憶域にコピーされる時に,実行時情報メッセージを表示するように要求します。
/warn:ignore_loc は,%LOC が引数から取り除かれた時に警告メッセージを発行するように要求します。
次の新しい ATTRIBUTES 指示文が追加されました:ALLOW_NULL,DECORATE,IGNORE_LOC,および NOMIXED_STR_LEN_ARG
省略可能な KIND 引数が次の組込み手続に追加されました:INDEX,LEN_TRIM,MAXLOC,MINLOC,SCAN,および VERIFY
追加された新機能とその詳細については,オンライン・リリース・ノート (relnotes.txt または relnotes.htm) を参照してください。
お客様からのフィードバックを元に,プログラマーズ・ガイドに新しい章を追加し,次を含む既存の章を更新しました:「Fortran Windows アプリケーションのコーディング要件」,「SDI と MDI の Fortran Windows アプリケーションでのメニューとダイアログの使用」,「リソース・エディタを使ってダイアログをデザインする方法」,および「他のプラットフォーム上の Compaq Fortran との互換性」
言語リファレンスの「ポインタ引数」の章をお客様からのフィードバックを元に更新しました。
Compaq Visual Fortran バージョン 6.5 (Visual Fortran バージョン 6.1 から) に追加された新機能には以下のものがあります。
Fortran COM Server プロジェクト・タイプと Fortran COM Server Wizard (「COM サーバーの作成」を参照) が追加されました。
Fortran COM Server Wizard は,COM サーバーまたはデュアル・インタフェース・サーバーの作成を手助けします。さらに,COM およびオートメーションの使用に関する新しい情報を「オブジェクト・インタフェースへのポインタの取得」で提供しています。
新しい COM ルーチンを提供します
COMStringFromGUID は GUID を渡し対応する文字列表現を返します。
COMIsEqualGUID は,2 つの GUID が同じ場合の決定を行います。
Visual Fortran は,/arch および /tune コンパイラ・オプションに新しいキーワードを追加して,Intel Pentium III,AMD K6, および AMD Athlon アーキテクチャーに対する最適化されたコードを作成します。
新しい組込み手続が追加されました
新しい例外処理ルーチンが提供されます。
CLEARSTATUSFPQQ は,浮動小数点ステイタス・ワードの例外フラグをクリアします (Intel プロセッサー)。
GETEXCEPTIONPTRSQQ は,SIGNALQQ で確立したシグナル・ハンドラで使用するための,または,C 実行時 signal() を直接呼び出すための C 実行時ルーチン例外情報ポインタへのポインタを返します (Intel プロセッサー)。GETEXCEPTIONPTRSQQ に関する付加情報については,「TRACEBACKQQ を使ったトレースバック情報の入手」および「TRACEBACKQQ」を参照してください。
新しい QuickWin グラフィックス・ルーチン SETTEXTCURSOR が追加されました。これは,フォーカスのあるウィンドウのテキスト・カーソル (カレット) の高さと幅を設定します。
AUTOAddArg サブルーチンのインタフェースが変更されました。output_arg (LOGICAL) は intent_arg (INTEGER) に変更されました。新しくプログラミングされる場合,この新しいインタフェースを使用してください。古いインタフェースも互換性を保つためにサポートされています。
Intel システムに対する高度な例外処理とハンドラの様々なタイプを設定するための新しい情報は,「高度な例外および終了処理の考察」に提供されています。
非ネイティブ書式なしファイルに対して,FORT_CONVERT.ext または FORT_CONVERT_ext 環境変数を使って,特定のファイル拡張子 (たとえば,.DAT) を持つファイルが指定した非ネイティブ書式であることを指定することができます (「データ書式の指定方法」を参照)。(Visual Fortran のネイティブ数値書式は,IEEE 浮動小数点書式を含むリトル・エンディアンです。)
Visual Fortran の以前のバージョンは,DLLEXPORT または DLLIMPORT の ATTRIBUTE を持つことができるのは手続と COMMON ブロックだけでした。これからは,モジュール変数と配列をエクスポート/インポートすることができます。
Visual Fortran がコンパイルしたモジュールは,モジュールが使用するモジュール (USE 文) からのすべての情報を含むようになりました。これは,コンパイルされたモジュールの大きさをかなり増大させます。特に,モジュールが USE DFWIN または USE DFWINTY を含んでいる場合に顕著です。Win32 ルーチンを呼び出す時にコンパイルされたモジュールに含まれる情報を最小化する方法があります。詳細は,「Win32 ルーチンの呼び出し」を参照してください。
Fortran 95 標準に準拠するために,コンパイラが変更されました。そのため,READ 文がファイル終了条件を検知し,END 指定子がなく,ERR がある場合,ERR= 分岐は行われません。同様に,記録終了条件を検知し,EOR 指定子がない場合,ERR 分岐は行われません。IOSTAT 指定してそのようなエラーを処理するためのルーチンを指定していない場合,END または EOR 指定子の省略は Severe 実行時エラー (たとえば,それぞれ番号が 24 または 268) を引き起こします。
並び入力でのより完全な編集検証を行えるように,実行時システムが変更されました。Fortran 95 標準に従って,実行時システムは少なくとも 1 桁を表現しない数値入力 "+","-",".","D","E",または "Q" を決して受け付けません。たとえば,実行システムは単一の "+" を 0 に変換することを許可していましたが,本バージョンより,FOR$IOS_LISIO_SYN (番号 59) エラーを返すようになります。さらに,"+-" または "--" のような不明瞭な式は拒否されます。
文字 NAMELIST 項目に対する入力としての範囲が明確でない文字列を読み取りがサポートされます。
以下を含む新しい Visual Fortran サンプルが提供されています (「Visual Fortran サンプルの説明」を参照)。
COM サンプル:Adder
DIALOG サンプル:Celsicon
例外処理サンプル:ClearFP,Cslexp2,Cslexp4,GetEptrs,Vbvf1,および Winexcp1
Isovar サンプル (ISO 可変文字列)
言語が混在したプログラミングのサンプル:MASM と Delphi 用の新しいサンプル
QuickWin サンプル:Conapp,Dirkeys4,PostMini,および Resize
モジュールのコンパイル速度がより速くなりました。
追加された新機能とその詳細については,オンライン・リリース・ノート (relnotes.txt または relnotes.htm) を参照してください。これらは,Visual Fortran CD-ROM のルート・ディレクトリまたは Program Files\Microsoft Visual Studio\Df98 にインストールされています。
お客様からのフィードバックを元に,プログラマーズ・ガイドに新しい章を追加し,次を含む既存の章を更新しました:「一貫性のあるライブラリー形式の指定」,および「コンソールを使用」
Compaq Array Visualizer の変更点は,Array Visualizer HTML Help で別に説明しています。