4D v17 R4での新機能

よりプリエンプティブに

4Dリモートでのプリエンプティブプロセスが可能に

4D v17 R4 では、4D リモートでもプロセスをプリエンプティブに実行することが可能になりました。これは4D リモートでもマルチコアコンピューターの利点を最大限活かすことができるということです。オペレーションを分割して利用可能なコアで並行して実行することで、計算結果をより早く得ることができます。

 
 

Begin / end SQL をプリエンプティブモードで使用

4D v17 R4 では、Begin SQLEnd SQL、および内部データベースで使用されたそれらに関連したSQL 宣言がプリエンプティブ準拠となりました。これらのコマンドを使用して大量の非同期の操作をしようとしていた場合、リクエストを並行して開始させることができ、結果としてアプリケーションのスピードはより向上することでしょう。

 

 

プロセスを同期させる

4D v17 R4 では、新しいコマンド、New signal が用意されています。このコマンドを使用して例えば、ある作業を、非プリエンプティブなコマンドを使用するためにコオペラティブなプロセスに割り振る、といったことが可能になります。このコマンドは共有オブジェクトを作成し、二つのメソッド:trigger() および wait() を使用してカレントプロセスの進行を管理することができるようになります。

 

4D Write Pro

自分のドキュメントを.docx フォーマットへと変換

4D v17 R4 から、4D Write Pro ドキュメントは.docx フォーマットへと書き出すことが可能になりました。これをするためには、既存のWP EXPORT DOCUMENT コマンドに、新しいwk docx 定数を使用します。

 

新しい垂直ルーラー

4D v17 R4 では新しい垂直ルーラーが含まれます。これによってユーザーは垂直マージンを視覚的に管理できるようになります。またドキュメントにヘッダーあるいはフッターが含まれる場合、これらとドキュメント本文との間の間隔も垂直ルーラーを使用して変更可能です。新しい垂直ルーラーを表示プロパティはプロパティリストから利用可能で、これによってルーラーを表示することが可能です。

 

4D WRITE PRO ドキュメント内で座標を取得する

4D v17 R4では、4D Write Pro ドキュメント内での座標を取得することができます。WP Get position コマンドはレンジ、要素参照、あるいは4D Write Pro ドキュメントのカレントの位置を表したオブジェクトを返します。またこのコマンドは二つの新しい属性: bounds および rangeHeight を返します。最初の属性はレンジを囲んでいる四角形のタイプ(“default type” (文字), “paragraph type”, “table type” あるいは “picture type”)に応じた情報を返します。またそれ独自の属性: top, bottom, left, および right も格納しています。二つ目の属性はオブジェクトの境界線の四角形の高さの情報を返します。

 

バーチャルストラクチャーのサポート

4D v17 R4 では、4D Write Pro ドキュメントに挿入されるテーブルおよびフィールドの式は、データベースのバーチャルストラクチャー定義をサポートするようになりました。これはSET TABLE TITLES(…;*) および SET FIELD TITLES(…;*) コマンドを使用することで定義可能です。フォーミュラエディターもまたバーチャルストラクチャーをサポートし、4D はシステム設定に応じて自動的にユーザーインターフェースを設定するので、フォーミュラエディターはユーザーのランゲージで表示されるようになります。

4D for ios – Preview

複数条件検索のサポート

4D v17 R4 では、4D for iOS は複数条件の検索をサポートするようになりました。テンプレートからリストフォームを選択したのち、複数のフィールドを検索エリアにドロップすることで複数条件検索を有効化することができます。同じフィールドに対して複数の値を指定する場合、内部的にはOR 演算子が使用されています。この機能は4D for iOSで生成されたテンプレートにおいては全てデフォルトで有効化されていますが、カスタムされたテンプレートにおいては既存のsvgファイルを編集し、検索クラスを“droppable field optional” から “droppable field optional multi-criteria”へと変更する必要があるという点に注意してください。

 

制限クエリ

4D v17 R4 では新しいコンセプト:制限クエリ が導入されています。これによってモバイルアプリ場で表示されるデータを、テーブルやフィールドに限らずフィルターすることが可能になります。つまりどのレコードが送信されるかということについてコントロール可能だということです。これのために、新しいデータセクションが利用可能になりました。On Mobile App authentication データベースメソッドを通してgeneral filter queries あるいは user information を使用することで、アプリケーションで表示されるデータを容易にフィルターすることができます。

 

カスタムのデータフォーマッターを作成

4D for iOS には既に日付、パーセント、時間、などの基本的なデータフォーマッターが含まれています。4D v17 R4 では、独自のデータフォーマッターを作成し、直接プロジェクトエディター内で使用することができます。まず…/Resources/Mobile/formatters フォルダをデータファイルと同じ階層に作成します。このフォルダ内ではフォーマッターを分類するための他のフォルダ、例えばintegerToString フォルダ、integerToImage フォルダなどを作成することができます。それらのフォルダ内には、フォーマッターの名前とタイプをプロパティとして持つ、JSON ファイルを作成を作成してください。

 
 

4D ランゲージ

 

メールの送信

4D v17 R4 以降、新しい方法でeメールの作成と送信ができるようになりました。この新機能は使い方は簡単で、また以前の4D Internet Commands を使用する方法よりさらに強力です。新しいSMTP New transporter コマンドを使用すると、新しいSMTP 接続を設定できます。eメールの作成と送信には、次の3ステップを踏みます。SMTP transporterを作成する、mailオブジェクトを作成する、eメールを送信する。mailオブジェクトには複数のプロパティ:from, cc, bc, to, sender,textBody, htmlBody などがあります。これに加えて、MAIL New attachment コマンドを使用することで添付ファイルを追加することも可能です。作成したあとは、mail オブジェクトはtransporter.send() コマンドを使用することで送信されます。将来のリリースにおいては、eメールを管理するための機能がさらに追加される予定です。

 

新しいサーバー管理コマンド

4D では既にステータスを読むためのコマンドは提供していますが、4D v17 R4 ではステータスを書き換えることが可能になります。今後は独自の管理インターフェースをダイアログとして、サーバーでも、クライアントでも、あるいはWeb アクセス用にHTML ページでも作成することが可能になります。そのためのコマンドがたくさん追加されました:

SEND MESSAGE TO REMOTE USER コマンドでサーバーからリモートユーザーへとメッセージを送信できます。

Get process activity コマンドでユーザーセッションの一覧を取得できます。

DROP REMOTE USER コマンドでユーザーセッションを終了させることができます。

ABORT PROCESS BY ID コマンドで固有のプロセス番号を使用して特定のプロセスを停止させることができます。

Get process activity あるいは Process properties コマンドで特定のプロセス番号を取得することができます。

REJECT NEW REMOTE CONNECTION コマンドで新規のリモート接続をブロックすることができます。

Get application info コマンドで接続が受け入れられたか拒否されたかを知ることができます。

SOAP REJECT NEW REQUESTS コマンドで、SOAP リクエストをブロックすることができます。

WEB Get server info コマンドで接続が受け入れられたか拒否されたかを知ることができます。

Refresh license コマンドでライセンスを更新することができます。

 

4D view Pro

4D View Pro 内でレンジをコードで作成

4D v17 R4 では、コードを使用してレンジを作成することができます。セルを編集するためにレンジオブジェクトを定義するための新規コマンドが追加されています: VP CellVP CellsVP ColumnVP RowVP All、VP Name、そして VP Combine ranges です。

 

レンジとフォーミュラを命名する

4D v17 R4 では新しい概念が導入されています: 命名レンジと命名フォーミュラです。プログラミングを用いて、2通りの名前を作成することができます。

1つ目は、セルのレンジを参照する名前で、VP ADD RANGE NAME コマンドを使用して目的のセル(あるいは複数のセル)に可読性のある名前をコードで適用することができます。

2つ目は、フォーミュラを参照する名前で、VP ADD FORMULA NAME コマンドを使用することでスプレッドシート内で計算を可読性のある名前に置き換えます。またこのコマンドで定数を作成することでスプレッドシート内での計算を容易にすることもできます。

 

セルの中身を取得あるいは設定する

4D v17 R4 では、ドキュメントをプログラミングで設定することができるコマンドを多数用意しています: VP SET VALUE, VP SET BOOLEAN VALUE, VP SET DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE, VP SET FORMULA, VP SET FIELD, VP Get value, VP Get formula

 

もっと知りたいですか?4D v17 R4についての全ての記事を読んでみましょう!