4D-jp 4D Japan Technical Support Team

4D v17.0 Hotfix 3 修正リスト

2018-10-18

バージョン: 17.0
ビルド: 228509

  • ACI0098645 OBJECT Get style sheetは,オブジェクトに設定されたスタイルシートではなく,スタイルシート0番を常に返しました。

  • ACI0098035 Windows版のみ。リストボックスのプロパティで『行の移動』と『ドラッグ&ドロップ』の両方が有効にされている場合,行の移動ができませんでした。

  • ACI0098390 IMPORT TEXTまたはインポートダイアログを使用して実数またはFloat型フィールドにテキストデータを読み込んだ場合,スペース記号など,数字ではない文字がデータの前後に存在すると,0がインポートされました。整数・倍長整数・64ビット整数では問題ありません。

  • ACI0098401 リストボックス列の『自動行高』プロパティが有効にされている場合,EDIT ITEMOBJECT SET SCROLL POSITIONで目的の行まで正しくスクロールしませんでした。

  • ACI0098406 LISTBOX INSERT COLUMNの実行速度がバージョン2004から16との比較でかなり落ちました(30倍)。フッターのオブジェクト名を明示的に指定すれば,問題が発生しません。

注記: フッターに重複しないオブジェクト名を内部的に割り当てるため,footer1, footer2といった具合に空いている番号がテストされていました。修正により,最後に使用された番号がキャッシュされ,その番号からテストが再開されるようになりました。結果として,列の削除によって番号が空いたとしも,その番号は再利用されないことになります。できるだけで高速に一意のオブジェクト名を割り当てることが重視されています。

  • ACI0098507 64ビット版のみ。サーバー側でMSG_CharsetおよびMSG_GetBodyを使用した場合,特定の組み合わせ(1;1, 0;1)でアプリケーションがクラッシュしました。MSG_Charsetを使用しなければ問題ありません。

  • ACI0098559 クライアント/サーバー版のみ。ORDAでWrite Proオブジェクトが保存されたフィールドにアクセスした場合,不完全なオブジェクトが返されました。シングルユーザー版では問題ありません。

  • ACI0098599 ORDAクエリの照合文字列にシングルクオート記号が含まれている場合(例:Levi's),クライアント/サーバーモードでエラー1806「正しく整形されてないURLです」が返されました。シングルユーザーモードでは問題ありません。

  • ACI0098624 Write Pro文書のテーブル(表組み)レンジに対し,wk font boldのようなテキスト属性を設定した場合,range.startrange.endの間にある文字列だけに適用されました。テーブルレンジが指定されたのであれば,テーブル全体に対して属性が適用されるべきです。

  • ACI0098626 リレートフィールドに対するインデックスORDAクエリをIN条件で実行した場合,結果が正しくありませんでした。IN条件を指定しなかった場合,あるいはインデックスを使用しなかった場合は問題ありません。

  • ACI0098522 標準アクションを使用してカレントレコードを移動すると,別ページに配置されたプラグインエリアに対してもレコードがロードされたというイベントが配信されました。カレントページのアクティブなエリアだけがイベントを受け取るべきです。

  • ACI0098526 ORDAでNフィールドに相当するリレーション属性を更新しようとすると,指定した値ではなく,Nullが代入されました。値を確認して,もう一度,同じ値を代入すれば,今度は成功します。あるいは,値を代入する代わりに,1レコードに相当するエンティティを代入すれば,問題を回避することができます。

  • ACI0098538 クライアント/サーバー版のみ。newEntity()で作成したエンティティの属性は,すべてNullでした。タイプに応じたデフォルト値がセットされるべきです。

  • ACI0098642 IMPORT TEXTコマンドでテキスト型のフィールドに値をインポートした場合,文字列の前後にあるスペース文字が切り捨てられました。

  • ACI0087085 外部アプリケーションからtabコードが含まれる文字列をメソッドエディターにドラッグ&ドロップあるいはコピー&ペーストすると,tab文字が無視されました。

注記: 修正により,文字列リテラルに挿入されたtabコードなどの文字は\tのようなシーケンスにエスケープされるようになりました。

  • ACI0098430 『デザインモードを検索』ダイアログの『タイプ』ポップアップメニューで『プラグインコマンド』を選択した後,『名前』を『等しい』から別の値に変更しようとすると,ダイアログが閉じられました。

  • ACI0098511 クライアント/サーバー版のみ。コレクション型のリストボックスをダブルクリックし,切り替わった詳細フォームでレコードを編集して元のフォームに復帰した場合,更新された値がリストボックスに反映されませんでした。セレクション型のリストボックスでは問題ありません。

  • ACI0098551 Windows 64ビット版のみ。ntdll.dllモジュールが原因でアプリケーションがクラッシュすることがありました。

  • ACI0098619 PA_SetBlobParameterをプリエンプティブモードで使用することができませんでした。

  • ACI0098620 PA_Get4DVersionをプリエンプティブモードで使用することができませんでした。

  • ACI0098579 コンパイルモードでピクチャに対する逆参照されたポインターに対してNullを代入することができませんでした。

  • ACI0098102 DIALOGコマンドでWebエリアが配置されたフォームを別ウィンドウに表示した場合,そのフォームでCANCELコマンドを使用すると,呼び出し元のダイアログが閉じられました。フォームメソッドでWebエリアのURL変数にアドレスを代入すれば問題ありません。また,別ウィンドウのダイアログを表示する直前にブレークポイントを挿入すれば,問題は再現しません。

  • ACI0098405 Open WindowあるいはOpen form windowで開いたウィンドウに表示された文字列をMESSAGEコマンドで更新することができませんでした。

  • ACI0098481 クライアント/サーバー版のみ。ORDAのfromCollection()に渡されたプライマリーキーが1フィールドに相当するデータクラスに存在しない場合,新規エンティティが作成され,そのプライマリーキーにはNullが代入されました。この場合,新規エンティティは作成されるべきではありません。

C_OBJECT($dataclass1;$result)
$dataclass1:=ds.IA_employee

$t1_Collection:=New collection
$t1_obj:=New object
$t1_obj.ID:=7
$t1_obj.employer:=New object()
$t1_obj.employer.ID:=10 //doesn't exist in the dataclass "IA_company"
$t1_obj.firstName:="Zoro"
$t1_Collection.push($t1_obj)
$result:=$dataclass1.fromCollection($t1_Collection)
ASSERT(Undefined($result[0].employer);"employer should not be created")
  • ACI0098657 4D Serverに対して200ユーザーを接続するのに20分を要しました。

注記: 接続に要する時間を短縮するために,管理画面を非表示することが勧められています。

  • ACI0098677 フランス語版のみ。関数のパラメーターを省略した場合(例:function (;;))コンパイラーに空のエラーメッセージが表示されました。

  • ACI0098054 共有コレクションに共有オブジェクトを追加し,Use/End use構文の中でその共有オブジェクトをロックした状態でNew processを使用して起動したプロセスをデバッグしようとすると,デバッガウィンドウがフリーズしました。

  • ACI0098399 Mac 32ビット版のみ。大量(例:3時間で19万件)のSOAPリクエストを処理すると,サーバーがクラッシュすることがありました。ACI0097539とは別の問題です。管理画面を表示した状態で放置すれば,より短時間でアプリケーションがクラッシュします。

  • ACI0098497 4D Serverのデータベース設定ダイアログに2048 MB以上のキャッシュサイズを入力して『適用』ボタンをクリックした場合,キャッシュサイズが正しく設定されませんでした。SET CACHE SIZEであれば問題ありません。

  • ACI0098558 Mac 64ビット版のみ。新規プロセスで開かれたウィンドウをINVOKE ACTIONの標準アクションで閉じた場合,すぐにはウィンドウが閉じられませんでした。

  • ACI0098580 Windows版のみ。連続してシーケンシャルクエリを実行した後,サーバーの管理画面やメニューの反応が悪くなりました。

  • ACI0098673 Mac 32ビット版のみ。コードでビルドしたメニューバーをスタートアップでインストールした場合,アプリケーションモードに切り替わるタイミングでアプリケーションがクラッシュしました。

  • ACI0098490 プラグインSDKのPA_AcceptDeselectでプラグインエリアのフォーカスを拒否できないことがありました。一度目は成功しますが,二度目はエリアにフォーカスが移動します。

  • ACI0098555 クライアント/サーバー版のみ。ORDAで空の日付フィールドにアクセスした場合,Nullが返されました。期待されるのは00/00/00が返されることです。

  • ACI0098369 64ビット版のみ。OCIAttrGetValに定数のOCI_ATTR_IOMODEを渡した場合,入出力パラメーターに対してOCI_TYPEPARAM_INOUT (2)ではなく8が返されました。

  • ACI0098443 リアルタイムモニターに時間がミリ秒単位で表示されませんでした。端数は切り捨てられ,値が1秒に満たない場合は何も表示されませんでした。

  • ACI0098692 Mac版のみ。システムカラーパレットを使用して4D Write Pro文書のテキストカラーを変更し,他には何も変更しなかった場合,変更が保存されませんでした。フォントの色だけでなく,サイズやスタイルも変更すれば,変更が正しく保存されます。

  • ACI0098639 LOG FILE TO JSONコマンドを実行すると,メモリーリークが発生しました。

  • ACI0098535 Write Proドキュメントの選択したフォントが極細・極太などのスタイルをサポートしている場合,『フォントスタイル』標準アクションをポップアップメニューに設定すると,選択した範囲に応じて正しいフォントスタイルが自動的に選択されませんでした。たとえば,フォントが14週類のスタイルをサポートしているとしても,し,標準・ボールド・イタリック・ボールドイタリックの4種類しかメニューにセットされませんでした。

注記: v17でwk start, wk endという定数が追加され,ウィジェットのコードが正しく動作しないようになったことが原因でした。

  • ACI0098725 entity.lock()でロックしたエンティティに対して再度entity.lock()を実行した場合,ローカルモードでは{"success:true"}が返されますが,リモートモードでは{"success:false"}が返されます。

  • ACI0098550 印刷をキャンセルした場合,PAGE BREAKでエラー6が返されました。

注記: 修正により,印刷がユーザーにより中止された場合には,エラー処理メソッドが呼ばれるようになりました(エラー-128)。

  • ACI0098728 コレクション型のリストボックスで,カラムのデータソースにプライマリーキーではないフィールドにリンクしたリレーション属性を表示させた場合,最初の表示はできますが,ヘッダーをクリックして並び替えを試みると,アプリケーションがフリーズしました。間違ったリレーション属性が使用されているようです。

  • ACI0098680 Mac 64ビット版。最前面プロセスが表示している最後のウィンドウを閉じた後,Frontmost process(*)はそのプロセス番号ではなく,-1を返しました。

  • ACI0098708 新ネットワークレイヤーでネットワークエラーが発生すると,アプリケーションがクラッシュすることがありました。エラー処理でハンドルされていない例外があるようです。

  • ACI0098590 アプリケーション配布のための新アーキテクチャーが無効に設定されており,旧式ネットワークレイヤーを使用している状態でenginedserver.4dlinkで指定されたサーバーに接続できないと『サーバーに接続』ダイアログが表示されますが,『利用可能なサーバー』ページには新ネットワークレイヤーで公開されているサーバーの名前だけが表示されました。Alt/optionキーを押しながらアプリケーションを起動してダイアログを呼び出せば,旧式ネットワークレイヤーで公開されているサーバーも表示されます。また,カスタムタブにアドレスを入力すれば,旧式ネットワークレイヤーで公開されているサーバーに接続することができます。

  • ACI0098483 コレクション型のリストボックスが暗黙的にリドローされないことがありました。プロパティリストでカレント項目が設定されている場合,エンティティに直接コードで代入した値がすぐに表示されませんでした。

注記: カレント項目は,参照カウントされているオブジェクトであり,リストボックスのセルだけでなく,他のフォームオブジェクトからも参照できるので,コードで値が更新された場合,元の参照を保持するべきなのか,表示を更新するべきなのか,単独では判別することができません。修正により,カレント項目プロパティを使用しているコレクション型のリストボックスでも,セレクション型のリストボックスのように,適宜,リストボックスがリドローされるようになりました。

  • ACI0098769 オブジェクト型フィールドをSET FIELD VALUE NULLNullに設定することができませんでした。

  • ACI0098783 同時に大量(400ユーザー/2000プロセス)のクライアントが接続されているサーバーを運用していると,9時間から48時間が経過した後,徐々に処理速度が低下することがありました。SQL(ODBCによる外部リクエストおよびBegin SQL/End SQLによる内部リクエスト)の接続と切断が頻繁に発生している状況で起きるようです。

  • ACI0098768 クライアント側ではSET DATABASE PARAMETERTips DelayセレクターでヘルプTipsの設定を変更することができませんでした。

  • ACI0098665 SQLのEXECUTE IMMEDIATEの結果を2次元配列で受け取ることができませんでした。エラー1429が返されました。

ARRAY TEXT(TxtArray2D_at;1;0)
C_TEXT(SQL_t;SQL_t_2D)

SQL_t_2D:="SELECT Firstname FROM Patient INTO <<[TxtArray2D_at{1}]>>"
Begin SQL
SELECT Firstname FROM Patient INTO <<[TxtArray2D_at{1}]>>;
End SQL
  • ACI0098753 印刷設定ダイアログを表示している間,1個のCPUが完全に占有されました。バーチャルマシン,あるいはターミナルサーバーやCitrixサーバーなどで4Dを運用している場合,同時に印刷設定ダイアログを表示させているユーザーの数だけCPUが占有されました。

  • ACI0098674 カレントセレクションが空のテーブルに対してLONGINT ARRAY FROM SELECTIONを使用した場合,空の配列が返されませんでした。

  • ACI0098754 64ビット版のビルドされたアプリケーションで新ネットワークレイヤーが有効にされている場合,クライアント自動アップグレードに余分の時間(1.5倍程度)を要しました。

  • ACI0098581 フォームエディターで,セレクション型のリストボックスが選択されている場合,プロパティリストの内容が正しく更新されませんでした。

  • ACI009873 クライアント/サーバー版でentity.clone()を実行した場合,フィールドの値が空でした。ローカルモードではコピー元のエンティティと同じ値が代入されています。プライマリーキーがUUIDの場合にだけ問題が発生します。

  • ACI0098669 entity.clone()でピクチャー型のフィールドがコピーされませんでした。

  • ACI0097420 Mac版のみ。サブフォームの内容を統合Webエリアが配置されたフォームから別のフォームに切り替えた場合,親フォームでOn Close Boxイベントが発生しました。

  • ACI0098799 macOS 10.14 Mojaveのみ。4D Serverの管理画面の表示が崩れていました。ページ切り替え用のタブに不要な白い垂直線が表示されました。

  • ACI0098592 4D Write Proウィジェットの「情報」タブにフォーミュラを入力した後,Tabキーで別のオブジェクトに移動した場合,ランタイムエラー-20002(存在しないパラメーターに対するアクセス)が返されました。

  • ACI0098322 Mac 64ビット版のみ。シートウィンドウ上ではOn Mouse Moveフォームイベントが発生しませんでした。

  • ACI0098422 Mac 32ビット版のみ。プリンターが接続されていない場合,WP PRINTでエラー1009が返されました。

  • ACI0098759 Windows版のみ。クライアント自動アップグレードを実行すると,xerces-c_3_2.dllがみつからない,というエラーが返されました。

注記: v17のビルド226463でxercesライブラリがアップデートされ,DLLの名前がXerces_3_1.dllからxerces-c_3_2.dllになりました。アップデーターアプリ(updater.exe)のDLLが一致しない場合に問題が発生します。

  • ACI0098618 複数のフォームをエディターで開き,プロパティリストに未確定の値が入力されている状態でウィンドウを切り替えると,間違ったほうのフォームのプロパティが更新されました。

  • ACI0098578 SMTP_SetPrefs (0;2;0)のように改行コード挿入設定に0とした場合,MIMEにCRLFコードが重ねて出力され,一部のメールクライアントではHTMLが表示される代わりにBASE64のエンコードデータがそのまま表示されました。

  • ACI0098814 SDIモードでクイックレポートエディターを使用した場合,印刷ダイアログが表示されませんでした。

  • ACI0098810 v13以前に作成されたアプリケーションをアップグレードした場合,変換前には外されていた互換性オプションの『Web変数に値を自動的に代入する』が再び有効になりました。

  • ACI0098719 ビルドされたアプリケーションを起動した環境に4Dフォルダーが存在しない場合,4Dpeer.txtファイルが作成できない,というエラーが返されました。ビルドされたアプリケーションの場合,デフォルトの4Dフォルダーではなく,そのアプリケーションのカスタマイズされた設定フォルダーが使用されるべきです。

  • ACI0098648 SET FILE TO PASTEBOARD(…;*)を実行し,複数のファイルパスをペーストボートに登録した場合,値は追加されてゆくはずですが,実際には上書きされ,最後に登録したファイルパスだけがセットされました。

  • ACI0098609 64ビット版のみ。クイックレポートエディターのページ設定画面で用紙の向きを変更した場合,設定が保存されませんでした。アプリケーションを再起動すると,用紙の向きが縦(デフォルト)に戻りました。

  • ACI0098531 17日以上前に起動したマシンで,プラグインSDKのイベント処理をすると,マウスダウンよおびマウスアップイベントの発生時間が正しく返されませんでした。キーダウンイベントは問題ありません。


リンク