コンポーネント間でクラスを使用する
コンポーネントの開発者は、他の既存コンポーネントのクラスを利用する必要が頻繁にあります。
4D 20 R6 では、宣言された名前空間を持つコンポーネントのクラスは、ホストプロジェクトにロードされたすべてのコンポーネントから、cs.namespace を介してアクセスできるようになりました。
クライアント/サーバー接続とストアドプロシージャーに対応した新しい 4Dリモートセッションオブジェクト
4Dアプリケーションでは、4種類のセッションが存在します。4Dリモートセッション、ストアドプロシージャーセッション、モバイルセッション、Webセッションです。
Sessionコマンドはいままで、Web または モバイルセッションを返しました。これにより、セッションに関する豊富な情報と、セッション内のすべてのプロセスで共有されるオブジェクトにアクセスできます。
4D 20 R5 では、Sessionコマンドの対象がクライアント/サーバー接続とストアドプロシージャーに拡張されました。
共有クラス
一般的なオブジェクト記法に従い、use/end useを指定しなくても自動的に呼び出す、シンプルな共有オブジェクトの使い方をお探しですか?
お待たせいたしました、共有クラスのご紹介です!
4D のシングルトン
4D 20 R5 は、デベロッパーのための強力な機能を提供します: シングルトンの登場です!
シングルトンデザインパターンでは、アプリケーション全体でアクセス可能なクラスのインスタンスを 1つだけ作成します。
このパターンには、以下のような多くの利点があります:
- インタープロセス値の提供
- ユーティリティクラスの作成
- ファクトリーデザインパターンのベースとして
- ほかにも多数
この新しいコンセプトの詳細については、このまま読み進めてください!
サブフォームを簡単に扱うためのクラス
4D フォーラムで、フォームの前景にメッセージ、砂時計、またはいくつかのインターフェース要素を表示し、背景をぼかすことについてのリクエスト、ヒント、または質問がいくつかありました。サブフォームや CALL FORM を使えば、そのようなインターフェースを作ることができます。複数ページのフォームを扱う場合、コードが複雑になることがあります。
そこで、複数ページのフォームに表示されるサブフォームの管理を簡単にするクラスを Vincent De Lachaux が用意いたしました。このクラスは、サブフォームを読み込んだり、ワーカーから制御したり、メインフォームのサイズが変更された場合にサブフォームの位置を変更したりします。このような仕組みを気にすることなく、ダイアログに集中することができます。
改良された .distinct() 関数
データ要素のユニークなリストを取得することは、データ操作において常に役に立ちます。各値の出現回数を取得することが不可欠な場合もあります。Collection と EntitySelection クラスの distinct 関数を使うと、ユニーク値のリストを取得できます。4D v20 では、各ユニーク値の出現回数の取得も可能になりました。
それだけではありません!
データベースでオブジェクトを使用して、ユーザーが入力したカスタムデータを保存することができます。これに対応するため、コード側では、このオブジェクトが持つパスのすべてを把握したいところです。 EntitySelection クラスに追加された distinctPaths 関数で、これが可能になりました。
これらの新しい関数について、くわしく紹介していきます。
4Dアプリケーションのためのヒントとコツ – 9月版
by Add Komoncharoensiri, Director of Technical Services at 4D Inc.
さて、今回も技術情報をお届けします。
ご存知のように、4Dナレッジベースは、4Dテクノロジーに関する情報のライブラリーで、毎週技術的なヒントと毎月の技術ノートが活発に公開されています。もし、前回のナレッジベースでのTipsを見逃したとしても、大丈夫です。
このブログでは、16のヒントを紹介しています。
4Dアプリケーションのための新しいヒントとコツ
by Add Komoncharoensiri, Director of Technical Services at 4D Inc.
ご存知のように、4Dナレッジベースは、4Dテクノロジーに関する情報を集めたライブラリーで、毎週技術的なヒントと毎月のテクノートが活発に公開されています。もし、あなたがナレッジベースに掲載された最後のヒントを見逃したとしても、それは問題ありません。
このブログ記事では、12のヒントを取り上げています。
パラメーターを簡単に管理する方法
関数やメソッドの宣言では、そのパラメーターを明示的に定義します。そして、その関数やメソッドを呼び出す際に、いくつかのパラメーターが省略可能であれば、それより少ない数の引数を渡すことができます。あるいは、${n} を使った宣言の場合、引数の数は可変です。この場合には Count Parameters コマンドを使い、引数をループさせます。このコードは完璧に動作します。それでも、ちょっと重いですね。
そこで、もっと軽い方法で引数を処理できないかとの要望にお応えして、4D v19 R5 から、新しいコマンド Copy parameters を提供します。これにより、よりエレガントで簡単な、読みやすいコードが書けるようになりました。
ホストプロジェクトからのコンポーネントクラスへのアクセス
コンポーネントは、クラスを公開できるようになりました! さらに良いことに、アプリケーションがまだバイナリーモードの場合でも、プロジェクトモードのコンポーネントで作成した独自のクラスを、バイナリーモードのアプリケーションから使用することで、クラスとオブジェクト指向開発の恩恵を受けることができます。