4D v19 R6での新機能

リストボックス

水平方向および垂直方向セルパディング

リストボックスの威力は、2つの新しいプロパティによって4D v19 R6において拡張されました: 水平方向パディングおよび垂直方向パディング(要素のコンテンツとその境界線の間の内部的な余白または空間のこと)です。これらによって、あなたのリストボックスに新しいプレゼンテーションの可能性を与えるとともに、あなたのインターフェースによりプロフェッショナルな見た目を提供します。

これらのプロパティはリストボックス全体に対してグローバルに設定するか、あるいはカラム、ヘッダー、フッターなど、それぞれの要素に対して設定することもできます。リストボックスに対して定義されると、継承によってリストボックスの全てのサブオブジェクトへと適用されます。ただし、もちろん個々のサブオブジェクトは独自の設定を持つことができます。

パディングの設定は以下のいずれかの方法で設定できます:

  • デザインモードにおいてプロパティリストの”座標とサイズ”内から設定する
  • LISTBOX SET PROPERTY コマンドに2つの新しい定数、lk cell horizontal padding and lk cell vertical padding を組み合わせて、プログラミングによって設定する

 

Microsoft 365

AZUREからユーザーの情報を取得する

Office 系アプリケーションへのアクセスを提供するのに加えて、Microsoft ではAzure ベースのアクティブディレクトリを提供しており、これを使用することで、ユーザーWeb ブラウザを使用してMicrosoft Sharepoint やOneDrive などのサービスにアクセスすることができます。全てのMicrosoft サービスは、Eメールアドレスに基づいた同じシングルサインオンを使用しているからです。4D v19 R6 以降、4D NetKit を使用することでこの仕組みを利用して、ユーザーが自分の会社での通常のログイン情報を使用してあなたのアプリケーションへとログインできるようにします。

これを使用するとシングルサインオンが可能になるだけでなく、Eメールアドレス、部署情報、電話番号など、認証されたユーザーの情報を取得することができるようになります。管理者からの許可があれば、ユーザーだけでなくその会社の同僚の同様の情報を取得することも可能になります。

 

Eメールを送信

Office 365 を使用しているユーザーにとっては、4D v19 R6 ではMicrosoft Graph API 経由でEメールを送信するAPI が利用できるようになります。OAuth 2.0 機能はMicrosoft サーバーおよびユーザー情報を取得するための前提条件でした。今後はEメール送信コマンドをはじめとして、Eメール管理へと進んでいきます。

 

プロジェクトモード

プロジェクトモードにおいて4D SERVERで同時に開発を行う

もしあなたがデベロッパーで、単一の開発サーバーにおいて同時にチーム開発を行えるかどうか聞かれた場合、4D v19 R6 ではそれを実現するための4Dクライアント-サーバー間での新たな接続モードを用意しています: 開発モードです。

開発モードにおいては、デベロッパーはデータベースストラクチャー、メソッド、フォーム、設定などを編集・変更することができます。ロックシステムは、バイナリーモードでの機能と同等の機能を提供するために変更されました。

4D Write Pro

エンティティセレクション・コレクションを使用して表にデータを動的に記入する

毎回毎回表にデータを手動で記入していく。。。というのは大変な作業です。こんなとき、データコンテキスト を使用することが役に立ちます。これによって4D Write Pro テンプレートにORDA やオブジェクト指向開発を取り込むことができるようになります。

4D Write Pro において表に対してデータソースを定義することが可能になりました。それがエンティティセレクションであろうとコレクションであろうと、”データソース”は表のそれぞれの行に自動的に記入されていきます。表はセレクションに基づいて自動的に拡張していき、必要であれば追加のページも追加されます。これによってあなたのアプリケーションのエンドユーザーは、データが自動的に記入されるテンプレートを自在にデザインまたは編集することが可能になります。

 

空の画像の表示を無効化する

4D Write Pro ドキュメントには、異なるソースからの、様々なフォーマットの画像が含まれている可能性があります。これらの画像は、場合によっては、明確な理由で表示されないことがあります。例えば無効なURL、フォーミュラから空の画像が返された、プラットフォームでサポートされないフォーマット、などです。

しかしながら、これらの画像は常にその理論上の位置に空の四角形が表示されます。4D v19 R6では、新しいビューオプションが提供されており、これを使用することで空の画像を完全に非表示にすることができます。これには以下の3つの方法があります:

  • 1つ目は最も分かりやすい方法で、プロパティリストを使用することです。アピアランステーマ内に新しい項目があります。
  • 別の方法はユーザーインターフェースを使用することです。これによって新しい要素を表示することができます。ツールバーまたはサイドバー内にあります。
  • あるいは、wk visible empty images 定数を使用してプログラミングで行うことができます。

4D View Pro

コレクションを表に表示する

4D View Proでは既にデータをスプレッドシート内に簡単にロードして表示することができます。4D v19 R6 では新しい表機能を使用することでよりたくさんのことができるようになり、ヘッダー、表のリサイズ、小計行、カラムの並べ替え、フィルターなどの追加のプロパティを利用することができるようになります。またこの機能を使用することで、データクラスやコレクションからのデータを素早くロードできるようになります。これには新しいVP CREATE TABLE コマンドを使用するだけです。

 

4D for Mobile

エイリアス

ご存知の通り、エイリアス はしばらく前からあった機能です。エイリアスと計算属性 は私たちの開発フレームワークにおいての画期的な変革でした。

ビジネス関連のフォーミュラを4D ユーザーインターフェース内で定義していた日々はもはや終わりです。エイリアスや計算属性などの概念によって、ビジネスロジックとUI とを分離する新たな方法が提供されることとなり、これによってアプリケーションの部分を個々に最適化することでパフォーマンスを向上させることができます。

そして、4D v19 R6 において、エイリアスは完全に利用可能となり、4D 側でエイリアスが定義されればiOS およびAndroid モバイルプロジェクト内においてスカラーを使うことができるようになります。R6 では、データベース内において同じモバイルスクリーン値をどこでも表示することができます。

 

4D for Android の新機能

各フィーチャーリリースにおいて、4D for Android の新機能が追加されています。これは4D for iOS において既に利用可能だった機能です。4D v19 R6 もその例に漏れず、2つの新機能が追加されています:

  • オフラインアクションの管理
  • 時間を節約するためにモバイルアプリケーションを生成するたびにデータを再生成しない機能
 

HTTP クライアント

新しいHTTPクラス

4D のシンタックスと機能についての改善を継続するため、この度4D でのHTTP クライアントコマンドを現代化することにしました。結果として、4D v19 R6 では最初のHTTP クラスが提供されています。これは始まりにすぎません。今後のフィーチャーリリースにおいてより多くの機能が追加されていく予定です。

 
 

プログラミング

倍長整数(integer32)より大きな整数のサポート

カウンターなどの用途のために、20億(32bit)より大きな、高精度な数字を使用する必要がありますか? これを可能にするために、実数とその扱いを改善させました。実数は精度に問題があることが知られていますが、小数点を使用しない(=整数である)限り、とても大きな数値においても100% 正確です。これによって最大53bitまでの数値を使用することができ、具体的には[-(2^53)+1, (2^53)-1] 、つまり−9,007,199,254,740,992 から 9,007,199,254,740,992, の間の数値が正確に表現されるようになります。

テキストへ、あるいはテキストからの変換の場合には12桁の指数表記を使用しなければならず、結果として正確性が失われてしまいます。4D v19 R6 では、(整数を表す)実数の、精度とテキストの変換を改善しました。この変換の改善はString() コマンドおよび数値を文字列に変換するJSON/XML コマンドに関係します。

 

コレクションおよびコールバックコマンドにおけるフォーミュラのサポート

コールバックうメソッドを必要とするメンバーメソッドでのコレクションの使用を簡単にするため、4D では以下の場面においてフォーミュラを使用してコールバックメソッドを定義することができるようになりました:

  • コレクションメンバー関数: every()、 .filter()、 .find()、 .findIndex()、 .map()、 .orderByMethod()、 .reduce()、 .some()、 .sort()
  • EXECUTE METHOD IN SUBFORM コマンド
  • CALL FORM コマンド
  • CALL WORKER コマンド
 

データエクスプローラー

リレーションを表示

データエクスプローラー を使用することで、データベース内のデータを、よりモダンで、シンプルかつエレガントなWeb インターフェースを用いて閲覧したり並べ替えたりすることができるようになります。4D v19 R6 では、データエクスプローラーはさらに進化しています。データ間のリレーションを可視化できるようになりました。

 

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