4D-jp 4D Japan Technical Support Team

4D 20 修正リスト

2025-01-19

バージョン: 20.5
ビルド: 101671

  • ACI0104339 コレクション型またはオブジェクト型のメンバーの直後にNullが存在するようなコレクションをFor each構文で処理した場合,NullValue typeIs null (255)ではなく,直前に代入されたメンバーと同じIs collection (42)またはIs object (38)を返しました。

注記: 問題は修正されましたが,インタープリターモードでValue typeが正しい値を返すためには,イテレーター変数を明示的に宣言する必要があります。インタープリターモードでFor each構文のイテレーター変数を明示的に宣言しなかった場合,その変数は未定義の状態から始まり,コレクション型が代入された時点でコレクション型になります。そのような変数にNullを代入した場合,コレクション型のまま値がNullになります。インタープリターモードで型が宣言されていない変数に値を代入した場合,すでに代入されている値の型をできるだけ変えないように代入が処理されるからです。

コンパイルモードでは,すべての変数が宣言されており,明示的に宣言されていないイテレーター変数はバリアント型になります。修正前のFor each構文では,バリアント型に対する代入であっても,すでに代入されている値の型をできるだけ変えないように代入が処理されていました。修正により,変数が明示的にバリアント型として宣言されていれば,NullNullのまま代入されるようになりました。

  • ACI0103409 設定>メソッドエディター>オプションの「変数とフィールドを強調」を「選択範囲上のみ」にした場合,メソッドエディターで変数をダブルクリックすれば,大文字と小文字を区別せずに同名の変数がハイライト表示されるはずですが,大文字と小文字が区別されました。

注記: 修正により,プロパティ名は大文字と小文字が区別され,変数名は大文字と小文字されないようになりました。

  • ACI0105309 スケーラブルWebセッションと強制ログインモードが有効化されたアプリケーションの/4DACTION/リクエストから呼び出されたWebセッションでSession.setPrivileges()を使用した場合,セッションの権限が設定されませんでした。

  • ACI0105308 フランス語版のみ。ようこそ画面のフランス語が正しくありませんでした。Ouvrir ou Créer un projet d’application の”C”は小文字で表記するべきです。

  • ACI0104743 コンポーネントのクラス名をエクスプローラーで編集することができました。入力を確定すると,エラーメッセージが表示され,クラス名が復元されます。

  • ACI0105345 Windows版のみ。クライアント側でWebサーバーを運用した場合,ネットワークエラーによってアプリケーションがクラッシュすることがありました。

注記: ネットワークエラー自体を回避することはできませんが,クラッシュを回避するための対策が施されました。

  • ACI0105251 コンポーネントから関連メニューバーの設定されたフォームを表示した場合,アプリケーションのメニューバーが切り替わりませんでした。

  • ACI0105135 計算属性のORDAクエリに名前付き引数を使用した場合,Function queryにパラメーター値が渡されませんでした。プレースホルダーを使用すれば問題ありません。

  • ACI0105339 Windows版のみ。On Web Authentication データベースメソッドでデバッガを起動した場合,アプリケーションがフリーズしました。

  • ACI0105298 4D.WebSocketServerwss:プロトコルを使用した場合,WebSocketクライアント毎に1メッセージしか処理できませんでした。

  • ACI0105292 Mac版のみ。新規プロセスでパレットウィンドウを表示した場合,両プロセスのダイアログにキーボード入力のフォーカスがセットされた状態になることがあり,その状態でテキストを入力すると,アプリケーションがクラッシュしました。

  • ACI0104816 Write Proドキュメントのテーブルの後に改行コードが存在する場合,WP Get elementswk type tableで取得したテキストに余計な改行コードが含まれました。

注記: WP Get elementsではなくWP INSERT DOCUMENTが修正されました。

  • ACI0103009 ピクチャ型フィールドのORDAクエリでキーワード演算子(%)とプレースホルダーを使用することができませんでした。

  • ACI0105318 VP CREATE TABLEを実行した場合,cs.TableColumnsは未知のクラスであるというエラーが返されました。

注記: ドキュメントの例題も修正されました。20r8ではクラス名がTableColumnsではなくTableColumnとなります。20r7以前では,クラスを使わずにNew objectでオプションを渡してください。

  • ACI0105295 クライアント/サーバー版のみ。サーバー側で特定のキーボードショートカットを設定することができませんでした。escape tab backspace return space および矢印キーが認識されません。

注記: リソースのXLIFFファイル(ToolBox__.xlf )に問題がありました。

  • ACI0105223 Mac版のみ。管理画面の「メンテナンス」タブのボタンタイトルがドイツ語とポルトガル語では正しく表示されませんでした。

  • ACI0104913 インタープリターモードのみ。Last errors()がエラーを返しました。Last errorsであれば問題ありません。

注記: 以下のコマンドは()をつけて呼び出すことができます。

* `Current process name`
* `Call chain`
* `WEB Server list`
* `Get group access`
* `Form Get color scheme`
* `Web progress`
* `Last errors`
* `Web event`
* `Web form`

以下のコマンドは`()`をつけて呼び出すことができません。

* `True`
* `False`
  • ACI0104592 コンパイラーパスを「すべて定義させる」に設定し,三項演算の三項に文字列同士の比較演算(< <= > >= = #)を記述した場合,コンパイルエラーになりました。

  • ACI0105230 目的の値よりも前にnullが出現する場合,コレクション型プロパティに対するクエリがエンティティを返しませんでした。つまり,コレクション型プロパティの値が["Value";Null]であれば,attr.col[] in :1クエリでエンティティをクエリできますが,[Null;"Value"]では,クエリできませんでした。

注記: 修正に伴い,ブール型フィールドに対するシーケンシャルクエリの不具合も是正されました。ブール型フィールドの値がNullの場合,NOT(boolField IS NOT True)がヒットするようになりました。

  • ACI0104609 クライアント/サーバー版のみ。プロジェクトメソッドまたはクラス関数を文字列で渡した場合,entitySelection.orderByFormula()がエラーを返しました。Formula from stringで文字列をフォーミュラに変換すれば問題ありません。

  • ACI0105287 Mac版のみ。SET WINDOW RECTでウィンドウを別のモニターに移動した場合,ウィンドウがフォーカスを失い,非アクティブになりました。ACI0099153が修正されたことによる副作用です。


関連記事

リンク