4D v17.1

振る舞いの変更

ホーム

 
4D v17.1
振る舞いの変更

振る舞いの変更    


 

OBJECT Get action および OBJECT SET ACTION コマンドは、フォームオブジェクトに対して使用する際、倍長整数の定数ではなく文字列の定数を使用するようになりました。

以前のコード:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(OBJECT Get action(*;$arrObjects{$i})=Object No standard action)
       OBJECT SET ACTION(*;$arrObjects{$i};Object Cancel action)
    End if
 End for

v17 に変換後のコード:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(_o_OBJECT Get action(*;$arrObjects{$i})=_o_Object No standard action)
       OBJECT SET ACTION(*;$arrObjects{$i};_o_Object Cancel action)
    End if
 End for

: _o_Object Get action ファンクションのみが廃止予定と宣言されています。なぜならコンパイル時、結果の型をあらかじめ指定する必要があるからです。これはユーザーにコードの書き換えを促すために実装されました(以下参照)。そうでなければ、コンパイルは不可能であったからです。

新コード: コマンドや廃止予定の定数は以下のように置き換えることができます:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(OBJECT Get action(*;$arrObjects{$i})=ak none)
       OBJECT SET ACTION(*;$arrObjects{$i};ak cancel)
    End if
 End for

v17 以降、オブジェクトプロパティによって操作される4Dの時間(C_TIME型)は秒数へと変換されます。以前のバージョンでは、これはミリ秒へと変換されていました。

この変化は、オブジェクト記法を用いてオブジェクトあるいはコレクションに(あるいはそれから)変換されるすべての時間に適応されます。OB SET および OB Get, QUERY BY ATTRIBUTE といったコマンド、あるいはJSON Stringify および JSON Parse といったJSON コマンドなどです。また、以下の4D 機能における時間/数値の変換にも影響します:

  • Web エリア(JavaScript 経由)
  • 4D Mobile
  • SQL (CAST ファンクション)

4D データベース側の適応を容易にするため(特に時間がフィールドオブジェクト属性内に保存されていたような場合)、新しい互換性オプションを使用して、セッション中に以前の振る舞いに戻すことができます:

  //以前の振る舞いに戻す
  // On opening / On server startup データベースメソッドで実行されることを想定
 SET DATABASE PARAMETER(Times inside objects;Times in milliseconds)

  • 外部エンティティ解決
    4D v16R3 以降、外部エンティティの解決はXML ドキュメントではデフォルトでは有効化されていません(外部エンティティの宣言は解析エラーを生成します)。以前の振る舞いに戻すためには、XML SET OPTIONS コマンドにおいて、新しいXML external entity resolution セレクターとXML enabled 値を使用します。
  • 大文字と小文字の区別
    4D v16 R4 以降、DOM Get XML element および DOM Count XML elements コマンドはデフォルトでは大文字と小文字を区別するようになりました。新しいセレクターを使用すると、以前の振る舞いに戻すことができます: XML DOM case sensitivity では以下の値を使用できます:
    • XML case sensitive (デフォルトの値): コマンドは大文字と小文字を区別します。
    • XML case insensitive: コマンドは大文字と小文字を区別しません。

WP GET ATTRIBUTES あるいはOB Get コマンドでwk image, wk list style image, およびwk background image 属性を使用すると、画像が宣言されていない場合、画像のURL ではなく、画像そのものを返すようになりました。

画像URL を探すためには、新しいwk image url, wk list style image url, および wk background image url 属性を使用してください。

 
 

 
プロパティ 

プロダクト: 4D
テーマ: 振る舞いの変更

 
履歴 

変更: 4D v16.2

 
ARTICLE USAGE

4D v17への変換 ( 4D v17)
4D v17への変換 ( 4D v17.1)