製品

データベースのデータ変更を追跡

このブログ記事では、データストア内の変更を管理・追跡する方法に革命をもたらす強力な方法をご紹介します。ここではデータの変更監視を合理化するために設計された特別なマーカーである「スタンプ」の概念を公開し、そのスタンプを独自の要件に合わせてカスタマイズする方法を紹介します。

 

製品 blank

複数コレクションの同期ソート

4D には、オブジェクトのコレクションを扱うための強力な機能があります。

たとえば、都市とそれに関連する国や大陸のコレクションを作成することができます。このようなコレクションを、.sort()、.order()、.filter() のようなビルトイン関数で操作するのは簡単です。

4D v20 R3 では、並べ替え処理を簡素化するために、新しい multiSort() 関数が導入されました。この関数を使うことで、複数コレクションの同期ソートが可能です

製品 blank

4Dコードのエラー管理を強化

v20R2 から、4Dコードで エラーをスロー できるようになりました。

これらのエラーは、他の 4Dエラーと同じように動作します: エラーダイアログをトリガーするか、ON ERR CALL メソッドで処理できます。

この機能により、発生した例外を積極的に検出することで、コードの品質を向上させることができます。また、エラーログも改善することができます。

重要なのは、この機能が強固なエラー管理を実現するための第一歩であることです。

では、詳細を掘り下げていきましょう!

製品 blank

クラスプロパティの宣言

4Dランゲージは常に改良を続けています。v20 では、クラスの使い勝手を良くする新機能として、”宣言されたクラスプロパティ” をお届けします。クラスプロパティを宣言することで、オートコンプリートを大幅に改善し、コンパイル時に分かりやすいエラーを出すこともできます。その方法を詳しく説明しましょう!

製品 blank

4Dコマンドでアプリケーションをビルドする

ここ最近の 4D のバージョンでは、独自のビルドチェーンを作成するためのさまざまな機能が追加されてきました。たとえば、以下のようなものです:

  • .zip フォルダーを作成する機能
  • 実行ファイルや “dll” ファイルに著作権などの情報を追加する機能
  • “info.plist” ファイルを作成する機能
  • 新しい build4D コンポーネントの搭載

 

4D v20 では、2つの新機能により、4Dコードでスタンドアロンまたはクライアント/サーバーアプリケーションの作成を仕上げまでおこなうことができます:

  • 実行ファイルへのアイコンの追加
  • サーバーまたはスタンドアロンアプリケーションの配布ライセンスファイルの生成 (サーバーアプリケーションは OEMライセンスのみ)
製品 blank

改良された .distinct() 関数

データ要素のユニークなリストを取得することは、データ操作において常に役に立ちます。各値の出現回数を取得することが不可欠な場合もあります。CollectionEntitySelection クラスの distinct 関数を使うと、ユニーク値のリストを取得できます。4D v20 では、各ユニーク値の出現回数の取得も可能になりました。

それだけではありません!

データベースでオブジェクトを使用して、ユーザーが入力したカスタムデータを保存することができます。これに対応するため、コード側では、このオブジェクトが持つパスのすべてを把握したいところです。 EntitySelection クラスに追加された distinctPaths 関数で、これが可能になりました。

これらの新しい関数について、くわしく紹介していきます。

製品 blank

コレクションでヘルプメニューを作成

ソフトウェアの「ヘルプ」メニューはとても便利です。もちろん、ソフトウェアのオンラインドキュメントを開くためのメニュー項目がありますが、サポートへの連絡方法など、ソフトウェアによってはそれ以外にもいくつかの項目があります。

4D v20では、異なるメニュー項目を記述したコレクションを渡すことで、アプリケーションの「ヘルプ」メニューを簡単に作成することができるようになりました。

製品 blank

ORDA – 初心者から上級者まで

ORDA とは Object Relational Data Access の略で、オブジェクト指向プログラミングとリレーショナルデータベースの利点を組み合わせたデータアクセス方法で、開発者はデータアクセスの管理よりもビジネス問題の解決に集中することができます。

ORDAを初めて使う人も、すでに使いこなして知識を増やしたい人も、このブログ記事を学習プロセスの道しるべとして考えてみてください。

このブログ記事には以下の内容が含まれています。

さて、本題に入りましょう。

製品 blank

あらゆる場所でエラーをキャッチ

Deeplからの自動翻訳

エラー管理は、どの言語でも開発の制約になりがちです。4Dでは、新しいプロセス/ワーカーでエラー処理メソッドを呼び忘れたり、エラーを処理しないコンポーネントを使用したりすると、4D組み込みのエラーダイアログが最終ユーザーに表示されることがあります。4D開発者は、この組み込みの4Dエラーダイアログを表示させないために、すべてのコンテキストですべてのエラーをキャッチしたいと思います。

4D v19 R8で、この動作をどのように管理するか見てみましょう。