バージョン: 20.3
ビルド: 101192
- ACI0104571 プラグインSDKの
PA_GetVariable
およびPA_SetVariable
の速度に問題がありました。過去バージョンとの比較で10
から20
倍程度パフォーマンスが低下しています。
注記: 本来,プラグインにテキストを渡すときには参照カウントをインクリメントするべきですが,過去バージョンのプラグインAPIはテキスト配列の各要素に対してこの操作をしていませんでした。4D 20でパフォーマンスが低下したのは,この問題が修正されたためです。さらに,今回の修正により,EX_GET_VARIABLE(19)
エントリーポイントが改良されました。EngineBlock
構造体のfLongint
フィールドに値CNST
を渡すことにより,テキストがコピーされないようにできます。プラグイン側でテキスト配列の値を更新するのであれば,この新しいオプションは使用しないでください。
- ACI0104618
.certificatesFolder
プロパティに4D.Folder
オブジェクトを設定して4D.HTTPRequest
を使用した場合,アプリケーションがクラッシュしました。パス文字列を設定すれば問題ありません。
注記: 全般的なメモリーリークを解消するための修正(ACI0104402)が関係していました。
- ACI0104631 Mac版のみ。フィールドに
+=
演算子でポインターの逆参照を加算した場合,Apple Siliconターゲットのコンパイラー(clang )がエラーを返しました。フィールドの代わりに変数を使用すれば問題ありません。また+=
の代わりに:=
および+
演算子を使用すれば,問題ありません。
[Batch]Data1+=($varPtr->)
-
ACI0104619 クライアント/サーバー版のみ。
EntitySelection.fromCollection()
を実行した場合,既存のエンティティが更新される代わりに新規エンティティが作成されました。 -
ACI0104494 クライアント/サーバー版のみ。特定のコマンドをタイプアヘッド入力中にメソッドエディターがクラッシュしました。すべてのストラクチャで再現するわけではありません。
-
ACI0104616
Get table fragmentation
から返される値が正しくありませんでした。MSCの情報も(内部的に同じコマンドを使用しているため)間違っています。 -
ACI0104439 クライアント/サーバー版のみ。プライマリーキー値にスラッシュ記号(
/
)が含まれているエンティティのリレーション属性に対してORDAのorderBy()
関数を実行した場合,エラー1804
および1500
が返されました。リモートデータストアでも同じ現象が再現します。 -
ACI0104414 クライアント/サーバー版のみ。クライアント側で
SET AUTOMATIC RELATIONS
を実行した場合,サーバー側で実行したGET AUTOMATIC RELATIONS
が変更前の値を返しました。
注記: クライアント側とサーバー側のツインプロセス自動リレーションモードは互いに独立しています。これは仕様ですが,クライアント側で設定を変更した場合,サーバー側の内部フラグが同期されてしまい,サーバー側で実行したSET AUTOMATIC RELATIONS
およびGET AUTOMATIC RELATIONS
の振る舞いが信頼できないものになってしまうことが問題でした。修正により,クライアント側で設定を変更しても,サーバー側の自動リレーションモードは影響を受けません。クライアント/サーバー通信プロトコルが変更されたため,修正が反映されるためには,クライアントとサーバーの両方をアップデートする必要があります。サーバーだけをアップデートした場合,修正は反映されません。クライアント側だけをアップデートした場合,修正は反映されますが,テーブルとリレーションの数が多いと幾らかパフォーマンス低下するかもしれません。
-
ACI0104551 フランス語版のみ。スプレッドシートをView Proにインポートした場合,
CNUM
関数が小数点(フランス式はカンマ記号)を正しく処理しませんでした。セルに値を手入力すれば正しく表示されるようになります。 -
ACI0104599
Create deployment license
にスタンドアロン版のライセンス(4UUD
または4UOE
)を渡した場合,エラーが返されました。ACI0104384が修正されたことによる副作用のようです。 -
ACI0104582 フィールドの「重複不可」属性が無効に設定されたストラクチャファイルでフィールドの「重複不可」属性が有効に設定されていたデータファイルとインデックスファイルを開いた場合,データファイルの設定でストラクチャファイルが上書きされ,既存のレコードと値が重複するフィールドを保存することができなくなりました。
-
ACI0104565 複数のページにわたって表示されるような分量のテキストをWrite Proドキュメントのテーブル(表)の行またはセルに設定した場合,最終ページのテキストが完全に表示あるいは印刷されないことがありました。テキスト全体のコピーはできるので,表示上の問題です。旧式プリントレイヤーで顕著ですが,標準プリントレイヤーでも再現します。
注記: 旧式プリントレイヤーで印刷ジョブを開始してからWP PRINT
を実行した場合,Write Proは旧式プリントレイヤーでドキュメントをレンダリングを試みますが,Write Proは標準プリントレイヤー(WindowsであればDirect2D)専用であることに留意してください。
- ACI0104561 Windows版のみ。Adobe Acrobat Pro をカレントプリンターに設定して印刷した場合,アプリケーションがクラッシュしました。
注記: プリントドライバー側の問題です。印刷ジョブ名が設定されていないためにPSCRIPT5.DLL
がスタックオーバーランを起こしています。OPEN PRINTING JOB
で明示的にプリントジョブを管理すれば,印刷セッション名が設定されるので,クラッシュは発生しません。あるいは,SET PRINT OPTION
のSpooler document name option でPDFファイル名を明示的に設定することもできます(ファイル名がデフォルトの印刷セッション名になるため)。不具合は修正されましたが,印刷コマンドでPDFファイルを出力する場合は常にスプーラードキュメント名を設定することが勧められています。
- ACI0104517 コレクション型のリテラル記法に関数オブジェクトの呼び出しを記述した場合,シンタックスエラーになりました。
$obj:={attr1: [$class.myFunction()]}
-
ACI0104507 Mac版のみ。
MESSAGE
コマンドがダークモードに対応していませんでした。 -
ACI0104389 オブジェクト型のリテラル記法にコレクション型のリテラル記法を記述した場合,シンタックスエラーになりました。
var $toto : Object:={id: 10}
$test:={addLabelIds: [$toto.id]}
-
ACI0104584
HTTPRequest
で送信したリクエストのContent-Type ヘッダーには,常に; encoding=utf8 という情報が追加されるため,この形式のヘッダー情報に対応していないAPIをコールすることができませんでした(例: Claris FileMaker Server)。 -
ACI0104569 Mac版のみ。Write Proドキュメントのカスタム用紙サイズ設定が適用されませんでした。
-
ACI0104492 サーバーと通信中のプロセスをクライアント側で終了した場合,サーバーとの接続が切断されました。
-
ACI0104581 Windows版のみ。
100%
よりも高いスケールにディスプレイを設定した場合,タブコントロールがクリック操作に反応しませんでした。
注記: 高解像度ディスプレイを正しくサポートするためには,互換性オプション「フォームでのテキストレンダリングではDirectWrite を使用する」を有効にする必要があります。修正により,オプションが設定されていなくてもタブコントロールがクリックできるようになりましたが,その場合,テキストレンダリングのクオリティが低下することに留意してください。
- ACI0104579 プロジェクトモードのみ。ブール型フィールドに対して
OBJECT DUPLICATE
を実行した場合,何も起きませんでした。
注記: プロジェクトモードにブール型フィールドというフォームオブジェクトは存在しません。ブール型フィールドをデータソースとするラジオボタンまたはチェックボックスがあるだけです。
-
ACI0104549 新ネットワークレイヤーで「ドメインサーバーによるユーザーの認証」を有効にした場合,メモリーリークが発生し,クライアントがフリーズすることがありました。ACI0103215が修正されたことによる副作用です。
-
ACI0104529 Write Proエリアで行末にソフトブレークが存在する行に日本語のスタイル付きテキストをIMEで入力した場合,
1
行に1
文字ずつ文字が表示されました。たとえば,メソッドエディターのリッチテキストをWrite Proエリアにペーストするとそのような行ができます。あるいは,shift+return に続けてreturn を入力することにより,ソフトブレークだけの空行ができるので,そこにIMEで日本語を入力しても再現します。 -
ACI0104590 Mac版のみ。ラジオボタンまたはチェックボックスに対して
BEST OBJECT SIZE
を使用した場合,正しい値が返されないことがありました。オブジェクトの幅が数ピクセル不足しているため,ボタンタイトルが途切れて表示されます。フォームエディターの「自動サイズ」も同様です。
注記: Mac版のラジオボタンとチェックボックスには,Regular・Small・Miniというバリエーションがあり,オブジェクトの高さによって表示されるタイプが決まります。オブジェクトの最適サイズを計算するためには,表示されるラジオボタンまたはチェックボックスのサイズを特定する必要がありますが,タイトルのフォントではなく,オブジェクトの高さを判定基準にしていたために計算が合わないことがありました。仮にオブジェクトの高さが10
ピクセル,タイトルのフォントの高さが24
ピクセルだった場合,オブジェクトの高さを基準にすれば,タイプはMini(11x11
)ですが,フォントを基準にすれば,タイプはSmall(14x14
)になります。SmallであるべきところをMiniの幅で最適サイズを計算すると,タイトルを表示するエリアの幅が3
ピクセル足りません。つまり,タイトルが完全に表示されるかどうかは,フォントの高さとオブジェクトの高さに左右されました。
-
ACI0104553 ラジオボタンとして表示されるように設定されたブール型フィールドを配置したフォームをプロジェクトに変換した場合,ボタンタイトルが途切れて表示されることがありました。
-
ACI0103757 ピボットテーブルを含むView Proスプレッドシートを
.xlsx
形式でエクスポートしてExcelで開いた場合,ナビゲーションバーが表示されませんでした。オフスクリーンエリアでVP EXPORT DOCUMENT
を使用した場合に問題が再現します。ユーザーインタフェースからエクスポートした場合は問題ありません。 -
ACI0104558 フォームに2個の統合Webエリアを配置し,
WA SET PAGE CONTENT
で空のページを表示しようとした場合,アプリケーションがクラッシュしました。URLをabout:blank
に設定すれば問題ありません。いずれかのWebエリアをシステム版に変更すれば問題ありません。 -
ACI0104515
Open datastore
で4D Serverのユーザー名とパスワードを使用することができませんでした。On REST Authentication データベースメソッドで受信したパスワードハッシュを検証することができません。
注記: 4D 19 R3以降,directory.json の仕様が変わり,bcryptハッシュが使用されるようになったことが関係しています。修正により,Open datastore
の接続パラメーターでpasswordAlgorithm
プロパティが設定できるようになりました。4d-rest-digest
を指定すれば,以前と同じようにMD5系のハッシュが送信され,On REST Authentication データベースメソッドでValidate passwordを使用できるようになります。このプロパティはOn REST Authentication でパスワードを検証するためのものです。RESTでサーバーにアクセスできるユーザー&グループをストラクチャ設定で管理する場合,On REST Authentication は作成せず,passwordAlgorithm
プロパティも省略してください。
-
ACI0104341 ORDAの
entity.clone()
を実行した場合,エンティティがロックされました。 -
ACI0104550
MIME-Version
やDate
など,既定のヘッダーをメールオブジェクトで設定してSMTP New transporter
で送信した場合,両方のヘッダーがMIMEに含まれました。一部のメールクライアントはヘッダーの重複に対応していないため,表示に問題がありました。いずれにしても,カスタムヘッダー値だけが送信されるべきです。 -
ACI0104537 デザインモードで未使用のローカル変数を検索した場合,宣言と同時に初期化をしている行(したがって未使用ではない)がヒットしました。
-
ACI0104533 Client Web Application Expansion ライセンスがインストールされていないクライアントでNetKit を使用することができませんでした。4D 20 LTSでは問題ありません。
-
ACI0104267 インタープリターモードのみ。
SET DATABASE PARAMETER
のMax concurrent Web processes などのオプションを設定した場合,インタープリターモードであってもWebプロセスがプリエンプティブスレッドで実行されるようになりました。Webサーバーを再起動すれば元の動作に戻ります。WEB SET OPTION
またはデータベース設定でオプションを設定すれば問題ありません。 -
ACI0104258 メンテナンス&セキュリティセンターでロールバックを実行し,その後,データファイルを破損した場合,再起動後の自動ジャーナル統合が失敗しました。MSCでロールバックではなく復元とジャーナル統合を実行した場合は問題ありません。
注記: 「データベースが完全でない場合,最新のログを統合する」機能は,カレントログフォルダーに存在するすべての.journal ファイルを統合するものです。MSCのロールバックを実行すると,カレントログフォルダーに追加のジャーナル(YYYY-MM-DD hh’h’mm’m’ss.journal )が作成されるため,自動統合ができなくなります。修正により,自動統合処理では,このファイルが無視されるようになりました。
- ACI0104539 Windows版のみ。Plugin APIの
PA_GetMainWindowsHWND
をプリエンプティブスレッドから実行した場合,アプリケーションがクラッシュすることがありました。
注記: 修正により,クラッシュは回避されるようになりましたが,プリエンプティブスレッドから当該APIを使用してはいけないことには変わりません。
-
ACI0104528 Windows版のみ。統合Webエリアが配置されたフォームを最前面に移動するためには,ウィンドウのタイトルバーを
2
回クリックする必要がありました。 -
ACI0104525 何らかの理由でリストボックスのヘッダーまたはフッターのオブジェクト名が空に設定されている場合,
METHOD GET PATHS
を実行するとアプリケーションがクラッシュしました。 -
ACI0104463 リストボックスセルのスタイル付きテキストの先頭文字を選択し,コンテキストメニューからスタイルを適用した後,command+
A
でテキスト全体を選択した場合,スタイルがテキスト全体に適用されました。 -
ACI0104427 4Dが最小化された状態でモーダルダイアログを表示した場合,ウィンドウがオフスクリーンに表示されました。
-
ACI0104521webAdmin 権限がなくてもREST APIの
/rest/$call/method
をPOSTで呼び出すことができました。 -
ACI0104483 Windows版のみ。配列型リストボックスの列に設定された関連リストのポップアップメニューがフォームウィンドウの外に表示された場合,選択したメニュー項目の値が正しく代入されませんでした。
-
ACI0104462 * /RESOURCES/en.lproj* に syntaxEN.json が存在する場合,「コンパイル時にコード補完用のシンタックスファイルを生成する」を無効にして再コンパイルしてもファイルが削除されませんでした。
-
ACI0104543 期限を過ぎたライセンスが存在する場合,ライセンスマネージャーの更新ボタンがクリックできませんでした。
-
ACI0104503 WebAdmin のポートからリクエストを受信した場合でもOn REST Authentication データベースメソッドが実行されました。
注記: 修正により,ホストではなくコンポーネントのOn REST Authentication データベースメソッドが実行されるようになりました。
- ACI0103777 Windows版のみ。View ProスプレッドシートをPDFまたはXPSプリンターで出力しようとした場合,システムエラーが表示され,アプリケーションがクラッシュしました。ACI0103757が修正されたことによる副作用のようです。