4D v14.3

互換性ページ

ホーム

 
4D v14.3
互換性ページ

互換性ページ  


 

 

互換性ページには、以前の4Dバージョンとの互換性を管理するためのパラメーターがまとめられています。ここに表示されるオプションの数は、元の データベースが作成されたバージョン (2004.x, v11, v12等) や、このデータベースで行われた設定の変更により異なります。

注: このページは現在のバージョンで作成されたデータベース (変換されていないデータベース) には表示されません。

  • ダイアログボックスでフィールドを入力可にする: 以前のバージョンではDIALOG コマンド等で表示されたダイアログボックスでフィールドに値を入力することができませんでした。この制限は4D 2004で取り除かれています。データを表示するだけの目的でダイアログにフィールドを表示している場合、以前の動作を保持することができます。バージョ ン2004に変換されたデータベースではこのオプションが選択され、v2004で作成されたデータベースでは選択されていません。
  • ラジオボタンを名前でグループ化する: 以前のバージョンではラジオボタンの排他制御はボタンに割り当てる変数名の先頭バイトで判定されていました (例えばm_button1, m_button2, m_button3等)。4D 2004以降はフォームエディター上でオブジェクトをグループ化することで排他制御が行われるようになっています。この点についてはラジオボタンとピクチャーラジオボタン を参照してください。
    この新しいモードはラジオボタン、3Dラジオボタン、ピクチャーラジオボタンで有効です。互換性を保 つために、変換されたデータベースでは以前のモードが使用されています。しかしこのオプションの選択を解除すれば新しいモードを使用できます。v2004 で作成されたデータベースでは新しいモードが使用されます。
  • PRINT SELECTION中、レコード毎にフォームをリロード: 以前のバージョンの4DではPRINT SELECTIONコマンドを使用した印刷中に使用されるフォームは、各レコード毎にリロードされていました。これによりOn printing detailフォームイベントで開発者が言語を使用して変更したかもしれないオブジェクトの設定がすべて自動的に再初期化されていました。
    パフォーマンスを最適化するためにこのメカニズムは4D 2004で取り除かれました。今後はフォームメソッドを使用して4D開発者が初期化を行わなければなりません。この動作はOn display detailフォームイベントを使用するリストフォームと同じです。しかしながらこのオプションを使用して以前の動作を保持することができます。v2004で作成されたデータベースは新しいモードを使用します。
  • ブラケットの代わりに4DVARコメントを使用する: このオプションで、4Dタグを使用した4D式の挿入方法を指定します。このオプションが選択されている場合 (デフォルト)、標準のHTML記法 (<!--4DVAR MAVAR-->) を使用します。
    オプションが選択されていない場合、ブラケット記法 ([MAVAR]) を使用します。この記法は以前のバージョンの4D Webサーバーで使用されていたプロプリエタリな方法であり、推奨されません。
  • 新しいコンテキスト参照モードを使用しない: このオプションが選択されていない場合、4D WebサーバーはHTMLのベースURLにコンテキスト番号を挿入します。
    以前のモードでは、 4D Webサーバーはブラウザーに送信する各項目にコンテキスト番号を送信しており、結果処理が遅くなっていました。しかしながら互換性のためこのオプション が選択されているかもしれません。このオプションを変更した後は設定を有効にするためにデータベースを再起動しなければなりません。
  • 未知のURLから"/"を取り除く: 以前の4Dではディスク上に存在しないファイルがURLとしてリクエストされた場合、On Web AuthenticationやOn Web Connectionデータベースメソッドの$1引数に先頭の"/"が取り除かれたURLが渡されていました。この動作は4D 2004で変更されました。しかし以前の動作に基づいた実装を行っている場合にはこのオプションを選択します。
  • 外部からのドラッグ&ドロップを拒否: v11以降、ピクチャーなどのファイルや選択されたテキストオブジェクトなどを4Dにドラッグ&ドロップできるようになりました。変換されたデータベース ではこの動作を想定したメソッドが書かれていないために期待した動作とならないかもしれません。このオプションを選択すると外部オブジェクトを4Dフォー ムにドロップできなくなります。ただしこの場合でも自動ドロップオプションを使用すると外部オブジェクトの挿入が可能である点に留意してください。アプリケーションはドロップされたテキストやピクチャーを解釈します (ドラッグ&ドロップ参照)。
  • QUERY BY FORMULAをサーバー上で実行ORDER BY FORMULAをサーバー上で実行: 4D v11より最適化の目的で、フォーミュラによるクエリや並び替えコマンドがサーバー上で実行されるようになりました。そして結果だけがクライアントマシンに返されます。この動作は以下のコマンドで有効です: QUERY BY FORMULAQUERY SELECTION BY FORMULAORDER BY FORMULA。変数が直接フォーミュラ内で使用されている場合、クライアントマシン上の変数値を使用してフォーミュラが呼び出されます。例えば
     QUERY BY FORMULA([aTable];[aTable]aField=theVariable)
    このコードがサーバー上で実行された場合でも、myvariable変数値はクライアントマシン上のものが使用されます。他方この原則はフォーミュラにメソッドが使用され、そのメソッド内で変数が参照されている場合には当てはまりません。この場合サーバー上で変数が解釈されます。
    変換されたデータベースではこの点が考慮されていない可能性があるため、デフォルトでこれらのコマンドはクライアントマシン上でフォーミュラを実行します。新しいモードを使用したい場合はこれらのオプションを明示的に選択します。
    注: このオプションはSET DATABASE PARAMETERコマンドで設定することもできます。
  • QUERY BY FORMULAでSQL JOINを使用: 4D v11よりQUERY BY FORMULAQUERY SELECTION BY FORMULAコマンドはSQLの結合モデルに基づくJOINを実行するようになりました。これによりストラクチャーエディターで自動リレーションが設定されていなくても[Table_A ]field_X=[Table_B ]field_Yのようなフォーミュラを使用できるようになりました。
    既存のデータベースでこの動作が考慮されていない場合、予期しない動作となることがあるため、変換されたデータベースではこの機能がデフォルトで無効にされています。データベースコードを見直した後、このモードを有効にすることを推奨します。
    注:
    • "SQL JOIN"モードが有効な場合でも、以下のケースではQUERY BY FORMULAやQUERY SELECTION BY FORMULAコマンドはストラクチャーエディターで設定された自動リレーションを使用します:
      - フォーミュラを{field ;comparator ;value}形式に分解できない場合
      - 同じテーブルの2つのフィールドが比較されている場合
    • SET DATABASE PARAMETERコマンドを使用してプロセス毎にこのオプションを設定できます。
  • トランザクションのネストを許可する: マルチレベルトランザクションのサポートを有効にします。4D v11以降、マルチレベルのトランザクションがサポートされるようになりました。既存のデータベースでこの動作が考慮されていない場合、予期しない動作と なることがあるため、変換されたデータベースではこの機能がデフォルトで無効にされています (トランザクションは1レベルに制限されます)。マルチレベルのトランザクションを使用したい場合、このオプションを選択します。
    注: このオプションはSQLエンジンで実行されるトランザクションには影響しません。SQLのトランザクションは常にマルチレベルです。
  • Unicodeモード: カレントデータベースのUnicodeモードの有効/無効を切り替えます。Unicodeモードではデータベースエンジン、言語、メニューなどでネイティ ブにUnicode文字が処理されます。非Unicodeモードでは日本語環境の場合Shift_JISが使用されます。
    この設定に関わらずデータファイルはUnicodeが使用され、文字列の評価にはICUが使用されます。
    v2004以前から変換されたデータベースではこのオプションが選択されていません。しかしながらこのオプションを選択し、必要なコードの修正を適用することを強く推奨します。非Unicodeモードを使用しても、過去のバージョンとの完全な互換性は提供されません。
    注:
    • このオプションのスコープはデータベースごとです。インタープリターモードではUnicodeモードのデータベースに非Unicodeモードのコンポーネントをインストールしたり、あるいはその逆を行ったりすることが可能です。
    • SET DATABASE PARAMETERコマンドを使用してUnicodeモードを設定することができます。
    4DにおけるUnicodeサポートについてはASCIIコードを参照してください。
  • ピリオドとカンマを数値フォーマットのプレースホルダーとして使用する: v11以降、4Dは数値の表示フォーマットにシステムの地域設定パラメーターを使用するようになりました (表示フォーマット の"数値フォーマット"参照)。4Dは自動で数値表示フォーマット中の","を千の位区切り文字、"."を小数点として解釈し、シス テムに設定された記号で置き換えます。以前のバージョンでは数値表示フォーマットでシステムの地域設定は考慮されていませんでした。例え ば"###,##0.00"フォーマットは日本語システムでは有効ですが、フランス語システムでは結果が異なっていました。
    変換されたデータベースでは互換性保持のためこの新しいメカニズムが無効になっています。
  • Web変数に値を自動的に代入する: 以前のバージョンの4Dでは、Webサーバーの標準機構によって、HTTPフォームやGET type URL を使用して送信された変数の値を自動的に4Dプロセス変数へと代入をしていました。インタープリタモードでは、変数同士が同じ名前であれば、受け取った変 数の値はどんな値でも4Dプロセス変数へとコピーされました。コンパイルモードでは、変数は事前にCOMPILER_WEB プロジェクトメソッドを使用して宣言しておく必要がありました。
    v13.4 以降この機構は廃止予定となり、新しいデータベースでは使用できなくなりました。変換されたデータベースではこの機能は互換性のために、残されてはいます が、互換性のオプションでチェックを外すことによって無効化することができます。今後は代わりに WEB GET VARIABLES またはWEB GET BODY PART コマンドの使用が推奨されます。

 
プロパティ 

プロダクト: 4D
テーマ: データベース設定

 
ARTICLE USAGE

デザインリファレンス ( 4D v14 R2)
デザインリファレンス ( 4D v14 R3)
デザインリファレンス ( 4D v14.3)
デザインリファレンス ( 4D v14 R4)