17r5では,64ビット版のWebエリアおよび4D View Proエリアのバックエンドフレームワークに採用されているChrome Embedded Frameworkのバージョンが3538
(Chromiumバージョン64
)から3626
(2018年12月版; Chromiumバージョン72
)にアップデートされました。なお,このバージョン以降,32ビット版の4Dはリリースされません。
注記: v17.xのバージョンは3282
,16r5のバージョンは3071
でした。
WP SET ATTRIBUTES
は,Write Proドキュメント・レンジ・要素の属性を更新することができるコマンドです。属性名と属性値からなるパラメーターペアをまとめて渡すことにより,1回のコールで複数の属性を一括更新することができます。
4D Write Pro属性の値は,テキスト・数値・ピクチャー・日付型で指定します。色(それぞれの要素値がRGB値が対応)や,タブ位置など,値を配列で指定できるものもありますが,そのような属性をWP SET ATTRIBUTES
でセットする場合は注意が必要です。
コンパイラー/シンタックスチェッカーは,パラメーターの数が可変であり,配列型もサポートするようなコマンドのシンタックスを解析する点で限界があります。そのようなコードは,配列型の引数まで評価されますが,その後のパラメーターは無視されます。これは仕様です。wk tab stop leadings
やwk tab stop offsets
のような属性をセットする場合,コマンドを分割してコールする必要があります。
Frontmost process
のドキュメントには,フローティングウィンドウの振る舞いについて下記のように説明されていました。
フローティングウィンドウのフォームメソッドやオブジェクトメソッドからFrontmost process
コマンドを使用すると,このコマンドはフローティングウィンドウレイヤー内の最前面のフローティングウィンドウのプロセス番号を返します。オプションの*
引数を指定すると,この関数は,通常ウィンドウレイヤー内の最前面のアクティブウィンドウのプロセス番号を返します。
しかし,フローティングウィンドウが表示されており,フローティングウィンドウではないウィンドウが最前面に位置していた場合,そのウィンドウからFrontmost process
をコールしても,最前面にあるフローティングウィンドウのプロセスが返されます。つまり,*
を指定すれば通常ウィンドウ,*
を指定しなければフローティングウィンドウの最前面プロセス番号が返されるのであり,「フローティングウィンドウのフォームメソッドやオブジェクトメソッドからコマンドを使用すると・・・」という前置きは余計でした。
この点については,近日中にドキュメントが修正される予定です。
4D Remote, 4D for iOSなど,ネットワーク版のORDAは,RESTインタフェースに支えられています。標準的なJSONとしてエクスポートできるようなオブジェクトであれば,クライアント側からORDAで更新できますが,[object picture]
が属性に含まれるオブジェクト型,あるいはWrite Proドキュメントのようなバイナリ形式のオブジェクトは,ORDAのentity.save()
で保存することができません。これは仕様です。対照的に,4D View Proドキュメントは標準的なJSONなので,ORDAで更新することができます。
C_OBJECT($e)
$e:=ds.Invoices.get(5)
$e.writeProDocument:=Form.writeProDocument
$status:=$e.save()
このコードをクライアント側で実行した場合,バイナリ形式のオブジェクト型であるWrite Proドキュメントはフィールドに保存されず,エラーも返されないことに注意してください。
バイナリ形式のデータが含まれるオブジェクト型フィールドのentity.save()
は,17r5でサポートされる予定です。17.xでは,クラシックコマンドのSAVE RECORD
を使用する必要があります(ACI0099139)。
v16以降,4D Popと4D SVG Areaは,公式インストーラーに収録されていません。この変更については,v16のリリースノートで言及されていました。
一般向けに提供されているフリー版のコンポーネントは,下記のURLからダウンロードすることができます。v15以前のバージョンも入手することができます。
https://download.4d.com/Components/
下記のコンポーネントは,パートナー向けにソースコードが公開されています。
FTPサイトのURLは,4D Forumsの4D Partner channel > 4D Partners Worldwideスレッドで案内しています。ブラウザが認証情報付きのURL(pass:user@domain
)に対応していない場合,FTPクライアントでアクセスする必要があるもしれません。
4D Forumsのパートナー限定スレッドは,有効なパートナープログラムのアカウントでログインすれば表示されます。アクセスしてもスレッドが表示されない場合,日本支社の営業部までお問い合わせください。