4D v18 R3 の新機能

Deeplからの自動翻訳

プログラミング関連機能

クラス(Class

4D v18 R3 では、4D 言語に新しい概念であるクラスが導入されました。クラスは、プロパティと関数を通して、オブジェクトの動作を定義することができます。一旦、クラスが定義されると、このクラスのオブジェクトをコードの任意の場所でインスタンス化することができます。それぞれのオブジェクトは、そのクラスのインスタンスとなります。クラスは、他のクラスを拡張し、その機能を継承することができます。

4D では、2 種類のクラスが利用可能です:ビルトイン 4D クラス(4Dコマンドで返されます)とユーザークラス(csコマンドで返されます)です。

オブジェクトをクラスのインスタンスとして作成するには、csコマンドとnewメンバ関数を使用します。もうひとつの重要な用語は、「コンストラクタ」です。コンストラクターは、デフォルトの属性を持つオブジェクトを作成し、インスタンス化するために使用されます。オブジェクトが初期化されるときに自動的に呼び出されます。クラスの作成は、ツールバーの「新規作成」メニュー、または「エクスプローラ」ダイアログから行います。クラスエディタが表示され、クラスのコンストラクタと関数を作成することができます。

クラスの継承

継承は、あるクラスが他のクラス(クラス)の振る舞いを引き継ぐことを可能にします。あるユーザクラスから別のユーザクラスへ継承するには、Class extendsキーワードを使用します。また、Superコマンドを使用して、親クラスのコンストラクタを呼び出すこともできます。

1つの4Dインスタンスで複数のWebサーバーを利用可能

4D v18 R3では、メイン(ホスト)データベースと各ホストされたコンポーネントのウェブサーバーを起動し、監視することができます。新しいWEBサーバーコマンドは、各サーバーに対して別々のオブジェクトでWEBサーバーを管理することができます。また、使用するサーバーを定義するためのオプションのパラメータを受け付けます。

  • Web データベース サーバー– 現在のデータベース Web サーバー(コマンドを呼び出した場所に応じて、ホスト データベースまたはコンポーネント データベース)を操作します。
  • Webホストデータベースサーバ– コンポーネントからホストデータベースウェブサーバを操作します。
  • Webリクエスト受信サーバー – Webサーバー管理共通メソッドなどで、リクエストを受信するWebサーバーを操作します。

Webサーバーの起動と停止には、start()stop()という2つのメンバメソッドが用意されています。利用可能なウェブサーバーのリストを取得するために、新しいWEB サーバーリストコマンドは、ホストデータベースで利用可能なすべてのウェブサーバーに対応するオブジェクトのコレクションを返します。

XPath サポートの強化

4D v18 R3から、XPathの実装がより準拠し、//, @, *, last()のような表現がサポートされ、検索がより簡単になりました。互換性の理由から、変換後のデータベースでは、以前の非標準の実装がデフォルトで維持されます。変換後のデータベースで拡張機能を利用するには、「 互換性」ページで「標準の XPath互換性を使用する」オプションを選択します。

オブジェクトとコレクションの機能強化

4D v18 R3では、OB Copy()コマンドとcollection.copy()メンバメソッドが強化されました。標準オブジェクトの内容を共有オブジェクトやコレクションにコピーする複雑なコードを回避するために、標準オブジェクトを共有オブジェクトやコレクションに追加する機能が追加されました。さらに、オブジェクトをハッシュマップとして扱うための新しいコマンドも用意されています。

  • OB Keys: オブジェクトのプロパティ名をコレクションとして返します。
  • OBValues: オブジェクトのプロパティの値をコレクションとして返す
  • OB Entries:キーとなるプロパティ(プロパティ名)と値(プロパティ値)を持つオブジェクトのコレクションを返す。

オフスクリーンウェブエリアの作成

4D v18 R3では、WA Run offscreen areaコマンドで、オフスクリーンモードでWebエリアを使用することができます。これは、メモリ上にWebエリアを作成し、パラメータでWebエリアに関連するすべての情報を受け取ります(例::

  • ロードするURL
  • エリアの名前
  • ウェブ領域からイベントがスローされたときに呼び出される式

また、オフスクリーンの Web エリアのデバッグを簡単にするために、WA OPEN WEB INSPECTOR という新しいコマンドが追加されました。ウェブインスペクタを開き、ページが正しく読み込まれているか、JavaScript コードがエラーを投げていないかどうかを確認できます。

4Dサーバーの管理

4Dサーバーの動作を監視する

4D v18 R3では、どの操作が原因でサーバーが遅くなるのかを発見するために、新しいコマンドを用意しています。 スタート・モニタリング・アクティビティこのコマンドは、期間と監視する操作の2つのパラメータを使用して、指定された期間を超える操作を記録します。このコマンドで設定した仕様に基づき、Get Monitored Activity()コマンドで記録されたすべてのアクティビティを取得することもできます。4D アプリケーションのアクティビティ記録を停止する、またはアクティビティ リストを空にするには、STOP MONITORING ACTIVITYコマンドを呼 び出します。

ORDA

エンティティ選択の新しいメソッド

4D v18 R3では、新しいメンバーメソッドが追加されました。

  • extract(): エンティティセレクションからデータを抽出します。これにより、エンティティセレクションデータで完全にカスタマイズされたコレクションを構築することができます。抽出したいデータクラス属性とその名前を、結果のコレクションに指定することができます。
  • refresh() : ORDAキャッシュ内のエンティティセレクションデータを無効にする。これは、次にデータを使用するときにサーバーからの更新をトリガーします。デフォルトでは、ORDAキャッシュは30秒後に失効するので、最新のデータがすぐに必要な場合はこのメンバーメソッドを使用します。

リストボックスの行選択

4D v18 R3には、エンティティ選択における行の選択を容易にする新しいコマンドが用意されています。listbox select rows.これは、パラメータとしてEntity selectionを受け取り、Entity selectionにマッチする行を直感的に選択することができます(選択から追加または削除された行を含む)。また、コレクションリストボックスでは、選択したいオブジェクト参照を含むコレクションを渡すことができます。

プロジェクトデータベース

メソッドのドキュメント

4D v18 R3では、プロジェクト、データベース、トリガー、プロジェクト、テーブルフォームのメソッドについて、独自のドキュメントを作成することができます。ドキュメントは、ドキュメントフォルダ内のメソッドまたはフォームと同じ名前のMarkdownファイルに保存されます。Markdownは、ドキュメントの標準的なフォーマットで、書式スタイルを強化することができます。このフォーマットは、4DエクスプローラやGitHub、その他のツールで表示することができます。ドキュメントには、要素の説明だけでなく、その要素がデータベースでどのように機能するかを理解するために必要な情報を含めることができます。プロジェクトデータベースにドキュメントファイルを作成・編集するには、エクスプローラから「作成」ボタンをクリックするか、「ドキュメントを編集」メニュー項目を選択します。4Dは、対応するファイルを作成し、プリセットのテンプレートでデフォルトのエディターで開きます。

自動フォントのサイズを定義する

4Dは、各プラットフォームのガイドラインを尊重した、3つの自動フォントテーマを提供します。4D v18 R3では、これらの自動テーマのサイズをオーバーライドし、テキストの表示方法をより自由にコントロールすることができます。

iOS用4D

すぐに使えるテンプレート

40以上のテンプレートが用意されており、プロジェクトエディタからアクセスできます。このギャラリーは、GitHubで公開されている最新のテンプレートのダイナミックリストに基づいています。テンプレートを使うには、リストと詳細フォームの両方に、More” アイコンがあり、フォームセクションからテンプレートの全リストを表示します。テンプレートを選択すると、4D for iOSがインストールを処理します。最後のステップとして、あなたのニーズに合わせて拡張することができます。

メール

MIMEフォーマットでメールをダウンロードする

4D v18 R3には、メールを変換せずに受信したままのフォーマットで保存できるコマンドがあります。POP3_transporter.getMIMEAsBlob( ) メソッドを使用すると、特定のメッセージの MIME コンテンツを含む BLOB を取得することができ、データベースやその他の場所に保存することができます。

4D Write Pro

テーブルとその要素のための新しい標準アクション

4D v18 R3は、テーブル、行、セルを対象とした新しい標準アクションを4D Write Proに追加します。これにより、表のボーダータイプ、セルの背景色、行のテキストの垂直配置、文書内の表自体の配置、マージン、パディング、その他40以上のオプションを定義することができます。その結果、4DWrite Proのインターフェイスは、表の処理能力の面で強化されました。表、行、列、セルの外観を変更するための4つの新しいボタンが追加されました。

protected属性のサポート

4D v18 R3では、4D Write Proドキュメントの指定された部分(またはすべての部分)を「編集不可」にすることができます。2つのレベルの保護が可能です。まず、ドキュメントのどの部分を保護するかを定義します(デフォルトでは、すべての部分が保護されます)。次に、作成した設定が考慮されるように、文書保護フラグを有効にします。このために、WPSET ATTRIBUTES コマンドで使用できる 2 つの新しい属性があります:wk protected(ドキュメントに属するほぼすべての種類のターゲットに設定可能) とwk protection enabled (グローバルなドキュメント保護を有効または無効にする)です。

4Dビュープロ

ワークシートのカスタマイズオプションの追加

新しいコマンド、VP SET SHEET OPTIONSは、4D View Proエリアの様々なシートオプションを定義するために利用できます。例えば、このコマンドでは、以下のことが可能です。

  • ワークシート内のセルを編集できないように保護する。
  • ワークシートのタブ、凍結線、グリッド線、選択範囲の背景や境界線の色をカスタマイズする。
  • ワークシートのグリッドライン、行/列ヘッダの可視性を管理する。

もっと知りたいですか?4D v18 R3に関するすべてのブログ記事を読む