4D-jp 4D Japan Technical Support Team

4D 20 修正リスト

2024-04-22

バージョン: 20.3
ビルド: 101238

  • ACI0104703 ストラクチャエディターでフィールドの「重複不可」属性を有効にした後,変更前のデータファイルを開いた場合,ストラクチャエディターとカタログファイルの間で齟齬が発生しました。ストラクチャエディターには起動時のカタログファイルの設定(「重複不可」属性は有効)が表示されますが,カタログファイルはデータファイルの設定(「重複不可」属性は無効)で更新されました。ACI0104582と似ていますが,別の問題です。

  • ACI0104542 entity.save()したリレーション属性のNフィールドにNullを代入することができませんでした。1フィールドがプライマリーキーでなければ問題ありません。

  • ACI0104746 クライアント/サーバー版のみ。コンパイルを実行してからコンパイルモードでプロジェクトを再起動した場合,クライアントアプリケーションがそのまま終了することがありました。

  • ACI0104729 チェックボックスのスリーステートプロパティをOBJECT SET THREE STATE CHECKBOXで変更することができませんでした。

  • ACI0104718 Mac版のみ。IntelまたはApple Siliconプラットフォームをターゲットにビルドした場合,Universal Binaryの実行ファイルが出力されました。実行ファイルのアーキテクチャはfileまたはlipo -archsコマンドで確認することができます。ビルドプロセスは,プロジェクトがサポートしていないアーキテクチャを除去するべきです。そうでないと,デプロイ先で間違ったアーキテクチャーで起動してしまう恐れがあります。

  • ACI0104733 ストアドプロシージャー実行中にCount usersを使用した場合,実際のユーザー数に1を加えた値が返されました。

注記: 仕様が見直され,ドキュメントが改訂されました。

  • ACI0104608 NetKit でメールを送信した場合,.bccプロパティが無視されました。

注記: NetKit は内部的にJMAP形式のメールをMIMEに変換しています。メールサーバーはMIMEからBCCヘッダーを削除するように設計されているため,MIME変換時に.bccプロパティを削除する必要はないと判断しました。

  • ACI0104685 IMAPTransporter.getBoxList()がエラーを返しました。

  • ACI0104646 Mac版のみ。アプリケーションの設定ダイアログの「閉じる」ボタンをクリックしてもウィンドウが閉じられませんでした。

注記: 修正により,設定ダイアログの「閉じる」ボタンはグレーアウト表示されるようになりました。escape キーまたはキャンセルボタンでウィンドウを閉じてください。これにはACI0104310の修正が関係しています。ドキュメントにはOpen Form windowコマンドのMovable form dialog box (5) タイプのウィンドウは「クローズボックスまたは同等の機能を持てる:はい」となっていますが,固定サイズのフォームは「閉じる」「最大化」「最小化」ボタンが表示されませんでした。ACI0104310が修正されたことにより,そのようなフォームでも「閉じる」ボタンが表示されるようになりましたが,ドキュメントでは「クローズボックスまたは同等の機能を持てる:いいえ」となっているOpen windowコマンドのMovable dialog box (5) も「閉じる」ボタンが表示されるようになりました。今回の修正は,Open windowの古い動作を復元する(ドキュメントに合わせる)というものです。

  • ACI0104710 Write Proドキュメントの小数点区切りを「なし」に設定した場合,数値が小数点のあるべき位置で揃いませんでした。

  • ACI0104688 システム言語が日本語以外に設定されているプラットフォームで日本語のデータベースプロジェクト(カタログのcollation_localeja)にコマンドライン引数の--create-dataを渡して起動した場合,エラー126が返されました。

注記: エラーはMeCab ライブラリがみつからないことを意味しています。修正により,このエラーは無視されるようになりました。

  • ACI0104625 HTTPRequestのリクエストボディにコレクション型を使用することができませんでした。

  • ACI0104438 複数のネットワークカードが存在する環境でWebサーバーの待ち受け固定IPアドレスにドメイン名を設定した場合,Webサーバーにhttps:で接続するとステータスコード409が返されました。http:であれば問題ありません。

  • ACI0104473 Write Proドキュメントにアンカー画像とテキストボックスが存在する場合,ランゲージでテキストボックスを削除するとアンカー画像の選択が解除されました。

  • ACI0104719 「格納場所」が「データファイルの外」かつ「内部ストレージの最大バイト」が0以外に設定されたピクチャ型フィールドに最大バイトを下回るサイズのデータを代入した場合,サイズが0バイトになりました。ジャーナルを確認するとデータは保存されているようですが,4DPICTフォーマットのピクチャとして認識されません。

  • ACI0104702 4D Helper Tool がバックグランド項目にインストールされませんでした。ファイル名com.4D.Helper ではなく,com.Helper となっているためです。

  • ACI0104689 Mac版のみ。システムまたはアプリの言語設定が日本語設定されていない場合,日本語名のフォームメソッドをApple Siliconターゲットに対してコンパイルすることができませんでした。

  • ACI0104652 Windows版のみ。Webエリア上に表示したポップアップウィンドウの外をクリックしてもウィンドウが閉じられませんでした。

  • ACI0104536 インデックスクエリを実行するとサーバーが突然に終了することがありました。

注記: DB4Dワーカーの内部的なリストを更新する仕組みが見直されました。内部的なリストが正しく管理されていないと,ワーカー数が理論的な上限である32767に達し,ある時点で新規の接続が使用済みのワーカーによって処理されるかもしれません。そのようなワーカーが,アイドル時間タイムアウトによるデータベースコンテキストの延期と再開を繰り返していると,やがて同一のデータベースコンテキストが同時に別々のクエリを実行してクラッシュを引き起こす可能性がありました。

  • ACI0104406 テーブルに複合インデックスが設定されている場合,QUIT 4Dの実行後にアプリケーションがフリーズすることがありました。「サーバー側で実行」メソッドで対象テーブルをクエリしたことがあると,現象が発生するようです。

  • ACI0104632 サーバー管理画面プロセスが内部エラー(MONI_PROCESS_SetInterfaceメソッド)を返すことがありました。ACI0104516と同じ現象です。

  • ACI0104562 メソッドエディターのコンテキストメニューを使用してローカル変数の名称を変更した場合,複数行にまたがる#DECLARE構文が更新されないことがありました。パラメーターと戻り値の間に改行を挿入した場合に問題があります。閉じる括弧の後に改行を挿入すれば問題ありません。たとえば,下記の例では$Result_Dataの名称を変更できません。

#DECLARE($In1 : Integer; \
$In2 : Pointer; \
$In3 : Pointer\
)->$Result_Data : Text
  • ACI0104675 再帰的なオブジェクト参照が含まれるコレクションに対してCollection.equal()を使用した場合,アプリケーションがクラッシュしました。

  • ACI0104639 クイックレポートエディターで保存したファイルを削除した場合,レポートがメモリに残っているためにクイックレポートエディターで再表示することができますが,その後,エディターを閉じるときに表示されるプロンプトで「保存しない」ボタンをクリックした場合,エラー-43(ファイルがみつかりません)が返されました。

注記: 修正により,必要に応じてレポートファイルが復元されるようになりました。

  • ACI0104628 クライアント/サーバー版のみ。データストアクラスのメンバー関数でCurrent userを使用した場合,カレントユーザーおよびエイリアスにDesigner が返されました。

注記: サーバー側のDB4Dプロセスにカレントユーザーの概念はありません。

  • ACI0104522 プロジェクトモードのみ。テーブル間にリレーションを設定し,ストラクチャエディターのリレーションインスペクターで「自動ワイルドカードサポート」を有効にした場合,「ワイルドカード」フィールドを設定することができますが,選択したフィールドがインスペクターの表示に反映されませんでした。カタログ自体は更新されています。

関連記事

リンク