4D v17の新機能

Deeplからの自動翻訳

このドキュメントは、4D v17で利用可能なすべての機能をまとめたもので、v16 R-リリースプログラム中、または4D v16 R6から4D v17への最後のステップで導入されたものです。各機能には、具体的な例を紹介する関連ブログ記事があります。これらのブログ記事は、機能のタイトルをクリックすることでアクセスすることができます。

また、blank のラベルが付いたセクションは、4D v16 R6 と 4D v17 の間にリリースされた全ての新機能に関連するものだと考えてください。

このドキュメントは、7つのセクションで構成されています。

ORDA

4D v17では、オブジェクト指向のアプローチでデータベースを扱うことができる革新的なコンセプトが導入されています。ORDA(Object Relational Data Access)です。

以下は、このリリースで出荷される機能です。

データの作成、更新、削除 blank

ORDAでは、データストアという 抽象化されたレイヤーを通じて、データベースに対してCRUD(作成、読み込み、更新、削除)操作を実行することができます。ORDAでは、CreateUpdate Deleteの操作は、現在の選択項目や現在のレコードに対してではなく、エンティティに対して実行されます。

  • 作成:new()メソッドで新しいエンティティをインスタンス化し、save()メソッドで保存することで実現できる。
  • 更新: 同じsave()メソッドを使用して、エンティティに対して実行されます。
  • Delete: エンティティまたはエンティティ選択に対してdrop( ) メソッドを使用して実行されます。

ドキュメントを読む

データベースへの問い合わせ blank

ORDAでは、データストアはオブジェクトであり、オブジェクトを通してデータベースモデルやデータへのインターフェイスを提供します。また、各テーブルやカレントレコードのカレントセレクションを扱うことはなくなり、オブジェクトであるエンティティを扱うようになりました。複数のリンクしたテーブルへの問い合わせや、同じテーブルに対する再帰的な関係の管理、また、1つの問い合わせの中で複数の論理演算子を使用することが簡単にできます。4D v17では、dataClass(テーブル)をクエリするためのいくつかの方法があります。クエリを単一の文字列として提供するか、クエリと値を別々にプレースホルダーで提供するか、クエリと値を別々に動的に構築されたコレクションで提供することが可能です。ドキュメントを読む

現在の選択項目とORDAの間を行き来するblank

ORDAは既存のコードと統合することができます!テーブルの現在の選択からエンティティの選択を取得するのと同様に、エンティティの選択からテーブルの現在の選択を更新することが可能です!この目的のために新しいコマンドが追加されました:USE ENTITY SELECTIONコマンドは、対応するテーブルの現在の選択範囲を更新し、Create entity selectionコマンドは、対応するDataClassに関連するエンティティ選択範囲を取得するコマンドです。ドキュメントを読む

エンティティ、オブジェクト、コレクションへの変換 blank

ORDAでは、データベースからエンティティやエンティティセレクションを分離して、別々に作業することができます。また、既存のオブジェクトやコレクションをデータベースに移動することもできます。そのため、エンティティをオブジェクトにエクスポートするにはtoObject()メソッドを、エンティティセレクションをコレクションにエクスポートする場合はtoCollection()メソッドを使用します。また、エンティティをオブジェクト経由でインポートするにはfromObject()メソッドを使用し、 エンティティの選択部分をコレクション経由でインポートするにはfromCollection()メソッドを使用します。ドキュメントを読む

ロックの管理

最適化されたロックblank

ORDAでは、データベースにエンティティを保存する際に発生する可能性のあるエラーを管理するためのメソッドセットを提供することで、楽観的なロックで作業することができます。このプロセスは非常にシンプルです。 reload()メソッドでデータベースからエンティティを再ロードした後、touchedAttributes()メソッドで最後にロードまたは保存してから変更されたプロパティを知ることができ、最後にdiff()メソッドを使用して2つのエンティティを比較することができます。ドキュメントを読む


悲観的ロックblank

ORDAでは楽観的なロックに加えて、 ロック() メソッドを使用した悲観的なロックも可能です。そのため、今後はエンティティを読み込む前にロックされているかどうかを確認する必要はありません。更新しようとすると、 save() メソッド が、ロック理由を示す詳細なステータスを返します。ドキュメントを読む

エンティティ選択におけるエンティティの処理 blank

ORDAは、エンティティセレクションを作成・追加する簡単なメソッドと、エンティティセレクションオブジェクト内のエンティティをナビゲートするメソッドを提供しており、これにより、複数のエンティティセレクションを同時に処理し、それらを独立してナビゲートすることができるようになります。エンティティセレクションは、newSelection() メソッドで作成され、エンティティはadd()メソッドで追加されます。エンティティ選択では、最初と最後のエンティティを取得するためにfirst()last()メソッドを提供し、エンティティでは、前と次のエンティティを取得するためにprevious()next()を提供します。ドキュメントを読む

エンティティ選択における論理演算 blank

論理演算子は、エンティティ選択に対して使用することができます。これにより、古典的な言語の集合と同様に、2つのエンティティ選択間の交差、和集合、差集合を取得することができます。ドキュメントを読む

エンティティセレクションの計算 blank

ORDAは、フィルタを通してデータをパイプライン化し、集計値を取得する優れた機能を提供します。また、データセットを調査し、計算を実行する集計操作のセットも提供します。例えば、sum(),average(),count(),min(),max()メソッドは、その名前が示す通りの処理を実行するために使用されます!ドキュメントを読む

4D言語

4D言語の最大の改良点は、あなたのコーディング体験をより簡単に、より直感的にすることです。

オブジェクト表記法

オブジェクト記法は、コードの書き方やデータベースエンジンの使い方を劇的に変え、コーディングをより速く、より簡単にします。例えば、 $myobject.attribute.subattribute:=5と記述したり、 $person.children[2].firstnameで 属性にアクセスしたり、オブジェクト記法を式として使用することが可能です。例えば、テキスト変数のようなフォームオブジェクトを作成し、[person]relatives.grandfather.firstnameのようにオブジェクト属性を直接代入します。もう、表示するためだけに、再帰的にOB Getを使って値を読み、一時変数に代入する必要はありません。オブジェクト記法の特典の1つは、未定義のプロパティや値を使えることです。4D言語では、式のどこでも未定義の値を受け入れるようになったからです。そして、未定義の値を変数に代入すると、その変数の型に応じたデフォルト値が設定されます。つまり、存在しないオブジェクトのプロパティを読み込んでも エラーに なったり、 コードの実行が停止したりすることはないのです。ドキュメントを読む

共有オブジェクトと共有コレクション

共有オブジェクトと共有コレクションは、 プリエンプティブなプロセス間で情報を共有するための簡単で効率的な方法 です。共有オブジェクトと共有コレクションは標準的なオブジェクトと同じように動作しますが、インスタンス作成時に以下の新しいコマンドで「共有」を宣言する必要があります。新規共有オブジェクトと 新規共有コレクション 一度インスタンス化されると、他の変数と同じように、読み込みのために直接使用することができます。また、書き込みや変更には、Useと End use キーワードで囲まなければなりません。ドキュメントを読む

新しいイテレータです。For each/ End for each blank

4D言語には、新しいループが加わりました。For each / End for eachは、コレクションなどの高度なデータ型に対する反復処理を可能にし、ループに入る前にコレクションに属するアイテムの数を事前に知っておく必要がありません。また、オブジェクトのプロパティを繰り返し処理することもできる。これは、オブジェクトのプロパティ名を事前に知らなくても、汎用的なコードを書きたい場合に便利です。ドキュメントを読む

コレクション

コレクションは、4D言語に追加された新しい型です。コレクションは、柔軟性があり、開発時間を短縮することができます。一見すると、コレクションは配列のように見えますが、配列が同じ型のリスト(Array longint, Array Text,…)として高度に最適化されているのに対し、コレクションは個々の型のリスト(longint、text、number、picture、オブジェクト、さらに別のコレクションなど)を保存する一種の容器でオブジェクト表記でアクセスすることが可能です。New collectionコマンドは、新しい空のコレクション、またはあらかじめ入力されたコレクションを作成します。また、コレクションの操作を容易にするために、オブジェクト記法で使用するための新しいメソッドが多数用意されています。これらのメソッドにより、例えば、要素の追加や削除、コレクションのソートなど、さまざまなことが可能になります。すでに40以上の新しいメソッドが利用可能です。以下はその一部です:pop(),push(),concat(),resize(),query(),slice(), …Read documentation

Nullコマンド

新しいNullコマンドは、オブジェクトの属性やコレクションメンバーの値が不明か不足しているかをチェックするために使用します(値 0 や空文字列 “” と未設定値との差を考慮してください)。また、属性値を unknown に設定することもできます。このコマンドは、オブジェクト表記で使用することができます。ドキュメントを読む

オブジェクトを使った開発

オブジェクト内の日付

オブジェクトの中で日付を文字列としてではなく、日付として設定できるようになり、オブジェクトの中での日付の使用がより簡単で直感的にできるようになりました。このため、OB SETOB Getは、is date定数を必要とせず、他の一般的なオブジェクトと同様にオブジェクト記法を適用して使用することができます。オブジェクト内部で日付を使用するには、データベース設定の互換性設定ページで、”オブジェクトでISO日付フォーマットの代わりに日付型を使用する” オプションをチェックするだけです。 ドキュメントを読む

オブジェクト内のピクチャのサポート

オブジェクトのフィールドやオブジェクト変数に、ピクチャを格納できるようになりました。OB GetOB SETコマンドは、新しいIs pictureタイプをサポートし、オブジェクト フィールドにピクチャを格納できるようになりました。また、オブジェクト記法も使用できます。ドキュメントを読む

JSONオブジェクトの検証

JSON文字列のパース時に、デバッグ時間を短縮するための新しいオプションが追加されました。JSON Parseのオプション*パラメータは、オブジェクトの各プロパティとサブプロパティのパス、行位置、行オフセットを提供する追加のデバッグ情報(__symbolsプロパティ)を作成します。オブジェクトがうまく形成されていても、要求された仕様やコンテンツの規範を満たしていない場合があります。新しいJSON Validateコマンドを使用すると、オブジェクトの構造が与えられた仕様(JSON スキーマ)に適合しているかどうかをチェックすることができます。 ドキュメントを読む

オブジェクトを初期化する簡単な方法

新規オブジェクト ] コマンドを使用すると、空のオブジェクトを作成したり、初期プロパティや初期値を含むオブジェクトを 1 行のコードで作成したりすることができます。 ドキュメントを読む

単一オブジェクトの要素リストを検索する

リンクされた引数を使用して、オブジェクト内の配列で検索することが可能になりました。QUERY BY ATTRIBUTEコマンドを使用すると、1つのオブジェクトの要素リスト内で複雑なクエリーを実行できます。複数のクエリ引数を AND 演算子で連結して配列の属性を検索する場合、マッチする引数が少なくとも一つの要素にあるレコードか、同じ要素にあるレコードを取得するかを選択するオプションがあります。 ドキュメントを読む

オブジェクト属性によるレコードのソート

新しいORDER BY ATTRIBUTEコマンドにより、リストボックスなどで選択項目を表示する際に、特定のオブジェクト属性に基づいてレコードをソートすることができるようになりました。ドキュメントを読む

プリエンプティブ・マルチスレッド

プリエンプティブ・マルチスレッディングにより、アプリケーションはマルチコアコンピュータの利点を最大限に活用することができます。その結果、アプリケーションの実行速度が向上し、より多くの接続ユーザーをサポートできるようになります。20以上の既存のコマンドは、プリエンプティブプロセスで使用できるように拡張されています。ドキュメントを読む

ダイナミックフォーム

動的なフォームを作成し、使用することができるようになりました。テキストベースのフォーマット(JSON)で保存されるため、エンドユーザーのコンテキストに完全に適応したフォームを作成したり、複数のデータベースで同じフォームを共有したりと、新しい可能性が広がります。フォームのテキスト記述は、4Dオブジェクトまたはファイルに保存することができます。そして、ランタイムにフォームをロードすることができます。以下のコマンドは、4DオブジェクトまたはJSONファイルのパスを渡すことができるように拡張されました。フォームウィンドウを開くダイアログFORM SET INPUTFORM SET OUTPUTOBJECT SET SUBFORMOBJECT GET SUBFORMFORM LOADPrint form.ドキュメントを読む

フォーム間の通信を簡素化

オブジェクトをフォームにバインドし、新しい Form コマンドでそれを内部的に使用することで、複雑なコードやグローバル変数を取り除くことができます。必要なことは、DIALOGコマンドを使って、オブジェクトのパラメータをフォームに渡すだけです。このオブジェクトのどのプロパティも、Formコマンドを使ってフォームの中から利用できるようになります。これは、サブフォームにも有効です。ドキュメントを読む

標準アクションによる新しいプログラミングの可能性

標準アクション(First Recordや color?value=redなど )は、ユーザーインターフェースやプログラミングで、ボタンやメニューにアサインすることができます。その利点は、アクションが適用されない場合、4Dは自動的にメニュー項目やボタンの停止を処理することです。 さらに、4D言語には2つの新しいコマンドが追加され、標準的なアクションをプログラミングで簡単に処理できるようになりました。

  • INVOKE ACTIONは、ターゲットコンテキスト(現在のフォームまたはメインフォーム)において、任意の標準アクションをトリガーするために使用することができます。
  • 標準アクションが、現在のコンテキストで適用可能か、有効かどうかを知るには、アクション情報を取得するコマンドを使用します。

ドキュメントを読む

キャッシュマネージャーの優先制御

4D 64-bitは、キャッシュメモリ内のオブジェクトの自動優先順位管理メカニズムに基づき、完全に最適化されたキャッシュマネージャを搭載しています。キャッシュメモリ内のオブジェクトの優先順位を完全に制御することができ、高度な微調整が可能です。

高度な使い方や特定のケースについては、2つの4Dコマンドを使用してキャッシュの優先順位をカスタマイズすることができます。

ドキュメントを読む

セキュリティ

4D v17は、以下の機能強化により、セキュリティに関して大きな飛躍を遂げました。

ビジネスアプリケーションのためのセキュアな環境を構築するためのビルトインツールとテクニックの詳細については、セキュリティガイドを参照してください。

4D WebサイトのA+ランク blank

4D WebサーバーのHSTS(HTTP Strict Transport Security)機能を有効にするだけで、SSL LabsからA+ランク(最高ランク)のWebサイトを取得することが可能になりました! HSTSは、Webサーバーが、安全なHTTPS接続を介してのみ、ブラウザと対話することを宣言することを可能にします。一度有効にすると、4Dウェブサーバーは自動的にHSTS関連の情報をすべてのレスポンスヘッダに追加します。ブラウザは、HSTS情報を含む4Dウェブサーバの最初のレスポンスを受信すると、それを記録します。その時点から、それ以降のHTTPリクエストは自動的にHTTPSに変換されます。また、Web HSTS max ageオプションで、ブラウザがこの情報を保存する期間を指定することができます。ドキュメントを読む

4D WebサーバーでのPerfect Forward Secrecyの有効化

4D Web Serverのデフォルトのセキュリティは、Perfect Forward Secrecy (PFS)をサポートすることで強化されています。この実装は、あなたのアプリケーションに、いくつかのネットワークセキュリティ機能に対するより良いコンプライアンスを提供し、同様にWebセキュリティ監査テストでより高いランクを提供します。PFSは、サーバーでTLSが有効化されたとき( )に自動的に有効になります。PFS が有効になっているかどうかを確認するには、WEB のサーバー情報取得コマンドを使用します。PFS を使用するために必要なすべての条件が満たされている場合、新しい属性であるperfectForwardSecrecy の値は true になります。RC4アルゴリズムは、いくつかの既知のセキュリティ問題の結果、4D Web Serverでは現在非推奨であることに留意してください。ドキュメントを読む

4D Webサーバーの強化されたセキュリティ

4DはTLS v1.0, TLS v1.1, TLS v1.2をサポートし、クライアントとサーバー間の暗号化通信を可能にします。デフォルトの最小サポートバージョンはTLS v1.2で、それ以前のバージョンは安全でない可能性があるため拒否されます。しかし、TLS v1.2をサポートしない古いブラウザ(またはツール)をサポートしたい場合は、Get database parameterおよびSET DATABASE PARAMETERコマンドの新しいMin TLSバージョンセレクタで、セキュリティレベルを下げることができます。ドキュメントを読む

ハッシュとパスワードの検証

ハッシュ・メカニズムは、パスワードの保存に最適です。ハッシュ化されたパスワードを生成および検証するために、2 つの新しいコマンドが作成されました。パスワードハッシュの生成と パスワードハッシュの検証です。どちらもbcryptアルゴリズムに基づいており、設計上低速です。そのため、ブルートフォースアタックの速度が遅く、影響を最小限に抑えることができます。ドキュメントを読む

SHA-2サポート

ダイジェスト関数は、データ交換や比較の際に、データの整合性をチェックするのに便利です。Generate digestコマンドは、SHA-2をサポートするように改良されました。SHA-2ファミリーの2つのアルゴリズムがサポートされるようになりました。SHA-256とSHA-512です。構文は同じで、SHA256 digest SHA512 digest定数が追加されました。ドキュメントを読む

データベースの最終バックアップをデフォルトで復元

データを損傷から保護するために、データベース設定の「バックアップ」ページにあるデータベースが損傷した場合、前回の バックアップを復元するオプションは、新しいデータベースではデフォルトでチェックされており、最高の保護レベルを提供します。ドキュメントを読む

4D Write Pro

マルチカラムドキュメント blank

WP SET ATTRIBUTESと WP GET ATTRIBUTESコマンドは、列を管理するための新しい属性をサポートするように更新されました。

  • WK column count: ドキュメントまたはセクションの列の数を定義します。
  • wk columnspacing: 2つのコラムの間の間隔を定義します。
  • wk column rule style,wk column rule color,wk column rule width: 垂直方向のコラムセパレータのスタイル(点線、破線など)、色、幅を定義します。

ドキュメントを読む

4D Write Pro ドキュメントの任意のパーツの位置を取得するblank

4D Write Pro専用の新しいコマンドを用意しました。WP 位置を取得特定の範囲、要素、参照を与えると、このコマンドは、5つの重要なデータ情報(範囲が始まるセクション番号、ページ番号、列番号、行番号、そして行内の範囲の最初の文字の位置)を一度にオブジェクト変数に返します。ドキュメントを読む

4D Write Proでプログラム的に要素にアクセスするblank

WP Get elementsコマンドは、任意のタイプの要素のコレクションを返します(段落、表、画像など。タイプされた範囲が渡された場合、コマンドは、対応するタイプの要素のみを含むコレクションを返します(2番目のパラメータで指定されていない場合)。それ以外の場合、コマンドは、そのタイプに関係なく、利用可能なすべての要素を含むコレクションを返します。ドキュメントを読む

テキスト挿入を簡単に処理する方法 blank

WP SET TEXTコマンドを使用すると、ドキュメント内の任意の位置にテキストを書き込むことができます。このコマンドは、4D Write Pro のほとんどの「挿入」コマンドと同じように使用します。 このコマンドは3つの引数を取ります:範囲オブジェクト(テキストを挿入する場所)、テキストそのもの、そしてテキストを範囲の前、後、または置換に配置するかを定義する定数です。ドキュメントを読む

4D Write Proのテーブル

4D Write Proにテーブルが登場しました。リアルテーブル、個々のセル、セルに大きなテキストを入力すると、テキストは自動的に折り返され、セルの幅はそのままになるだけです。ゼロから表を作成し、表のスタイル、列、行、個々のセルまで、すべてプログラミングで変更することができます。

WPのInsert tableコマンドは、いくつかのセル、行、または空のテーブルを作成することができます。4D Write Proの文書で表を管理するために、以下のコマンドが作成されました。WP Table append row,WP Table get rows,WP Table get columns,WP Table get cells.これらの新しいコマンドは、すべてスレッドセーフです。ドキュメントを読む

標準アクションのメカニズムが4D Write Proに拡張

4D Write Pro 専用の新しい標準アクションが80以上作成されました。ボールドカラースペルチェック表現のフリーズシステムフォントピッカーダイアログの表示・・・などの新しいアクションで簡単に4D Write Pro 領域を処理することが可能です80以上のアクションが用意されています。一行のコードも書かずに、独自の4D Write Proユーザーインターフェースを作成することが可能になりました。ドキュメントを読む

標準アクションを使用して独自のツールバーをデザイン

4D Write Proのカスタムツールバーをプログラミングなしで簡単に作成できます。シンプルでパワフルな標準アクションのメカニズムが拡張され、チェックボックスやポップアップメニューに割り当てることができます。

オブジェクトのアクティブ化/非アクティブ化は、コンテキストに応じて4Dによって自動的に処理され、現在のステータス(チェックボックス)や値(ポップアップメニュー)は、現在のテキスト選択に応じて自動的に更新されます。ドキュメントを読む

4D Write Proのために独自のコンテクストメニューをデザインする

ダイナミックポップアップメニューコマンドが更新され、標準アクションに基づいた独自の4D Write Pro コンテキストメニューの設計が可能になりました。ドキュメントを読む

4D Write Pro とピクチャの処理

絶対位置でのピクチャ

テキストの前や後ろ、ページやドキュメントの特定の部分(ヘッダー、フッター、セクションなど )へのアンカーなど、特定の位置への画像挿入を完全にコントロールできるようになりました。WP Add pictureコマンドは、ページに画像を追加、その正確な位置と他のプロパティを定義するために、標準のアクションを使用するか、WP GET ATTRIBUTESと WP SET ATTRIBUTESコマンドに追加された一連のセレクタを使用することができます。ドキュメントを読む

ピクチャーエクスプレッションのサポート

4D Write Proは、ピクチャーエクスプレッションに対応しました。ST INSERT EXPRESSIONコマンドは、イメージを返すあらゆる表現に対応するように拡張されました。式は、4D変数、フィールド、関数、ユーザー定義メソッドになります。式で4Dメソッドを使用する前に、まず、SET ALLOWED METHODSコマンドを使用して、このメソッドの使用を有効にする必要があることに注意してください。文書を読む

フルサイズの背景画像

4D Write Proでは、画像のクリッピングとオリジンの背景スタイル属性により、ページ全体を埋め尽くす背景画像を作成することが可能です。この属性は、以下の方法でコントロールできます。

  • 4D言語WP SET ATTRIBUTESコマンドを使用して、背景画像のクリッピングや原点に新しいwk paper box値を設定することができます。
  • 標準的なアクションINVOKE ACTION コマンドを使用するか、デザインモードでは他の標準アクションと同様に使用することができます。
  • 4D Write Proウィジェット。背景画像 “と “ドキュメント “の項目を選択すると、クリップと原点のオプションに、新しいペーパーボックスのオプションが使用できるようになります。

ドキュメントを読む

ヘッダーとフッターのプログラムによる管理

4D Write Proのヘッダーとフッターは、2つのカテゴリーに分かれた新しいコマンドにより、テンプレートをベースにした他のドキュメントを作成するために、プログラムで管理することができます。

  • ドキュメント内のヘッダー、フッター、ボディの参照を取得するコマンドで、関連する範囲を取得したり、特定のセクションのドキュメントを作成するために使用できます。WP Get header,WP Get body andWP Get footer.
  • カーソルを特定の位置に移動させるコマンド。WP SET FRAMEは、カーソルを特定のフレームに設定する一方で、WP Get frameは、カーソルが現在位置するフレームへの参照を取得するために使用されます。

ドキュメントを読む

4D Write Proのハイパーリンク

wk link url属性で、会社のロゴや社名にリンクを追加することができます。ハイパーリンクは、WP SET ATTRIBUTESと WP GET ATTRIBUTESコマンドを使用するだけで、画像、テキスト、またはその両方の組み合わせに追加することが可能です。ドキュメントを読む

タブの先頭文字を使用する

4D Write Proは、デザインを微調整するための追加機能を提供します:先行文字(例えば、繰り返されるドットや目次の他の文字など)。先頭文字は、ルーラー領域で既存のタブをクリックすると表示されるコンテキストメニューから、または、wk tab stop leadingsnew selectorとWP SET ATTRIBUTESコマンドを使用してプログラム的に制御することが可能です。ドキュメントを読む

4D Write Proの水平ルーラー

4D Write Proエリアの水平ルーラーを使用して、マージンやインデントを調整し、テキスト、グラフィック、タブ、その他の要素を水平に揃えることができます。ドキュメントを読む

4Dビュープロ

ドキュメントを4D View Proに変換する

既存の4D View ドキュメントを4D View Pro に変換するための第一歩を踏み出しました VP Convert from 4D Viewの新規コマンドのおかげで、4D View ドキュメントに保存されているほとんどのプロパティと情報は、ドキュメント構造、値、フォーマット、スタイル、ボーダー、フォーミュラも含めて、自動的に変換されます!ドキュメントを読む

4D View Pro スプレッドシート

新しい 4D View Pro フォームオブジェクトと新しい 4D View Pro コマンドにより、4D View Pro スプレッドシートを作成することができます。VP NEW DOCUMENTで新しいドキュメントを作成し、VP EXPORT DOCUMENTでディスクに、VP Export to Objectで データベースに保存し、VP IMPORT DOCUMENTまたはVP IMPORT FROM OBJECTで再度開くことが可能です。ドキュメントを読む

リストボックスの行の高さを自動的に変更

4D View Proは、行の高さを自動的に変更することができます。つまり、リストボックスが各行の高さを内容に合わせて調整し、あらゆる種類の折り返しの問題を避けて、テキストや画像を完全に表示することができるようになります。プロパティリストには、3つの新しいプロパティが用意されています。Automatic Row Height」、「Min Row Height」、「Max Row Height」です。これらの設定により、開発者はリストボックスが自動行高さモードを使用するかどうか、また、許容される最小行高さと最大行高さを定義することができます。
これらの設定は、LISTBOX SET PROPERTYコマンドと新しいLISTBOX SET AUTO ROW HEIGHT コマンドを使用してプログラム的に管理することも可能です。 ドキュメントを読む

その他のプログラミング機能

マシンのハードウェア情報を取得するblank

システム情報の取得」コマンドは、実行中のマシンのハードウェアとシステムの詳細、および使用中の OS、プロセッサ(複数可)、使用可能な RAM の量など、すべての情報を取得します。ドキュメントを読む

4D Webサーバーの詳細情報

WEB Get server infoコマンドは、4D Webサーバーの詳細情報を取得します。このコマンドには、オプションでwithCacheInfoという入力パラメータがありWebサーバーのキャッシュ情報が必要な場合に便利です。この属性は、デフォルトで「False」に設定されています。ドキュメントを読む

ユーザーとプロセスに関する詳細情報

Get process activity コマンドは、接続されているユーザー セッション、関連する実行中のプロセス、および PROCESS PROPERTIES コマンドで 到達できなかった内部プロセスを含む現在のすべてのプロセスのスナップショットを提供 します。 さらに、あらゆるプロセスを一意に識別するために、systemID属性が含まれています: ユーザー、4D、およびスペア。また、返されたセッション/プロセス情報から、接続してからこのプロセスが消費したCPU時間 (単位:秒)と、アクティビティ率(例:2%)を 計算 することができます。その上、このコマンドは結果の解析をより簡単にします。ドキュメントを読む

ライセンスに関する詳細情報

ライセンス情報の取得] コマンドは、インストールされているライセンスと使用済み/使用可能なライセンスに関する詳細情報を返します。ドキュメントを読む

ファイルやフォルダの拡張子の管理を強化

ファイルやフォルダのパスの管理を容易にするために、2つのコマンドが作成されました。Path to objectコマンドは、パラメータで渡したパスの特定のプロパティ(親フォルダ、ファイルやフォルダ名、ファイルやフォルダの拡張子)を含むオブジェクトを返します。Object to pathコマンドは、パラメータで渡されたオブジェクトの属性からパスを構築します。したがって、新しいパスを構成するには、必要なオブジェクト属性を変更し、それらを再結合するだけです。
これらのコマンドは、_o_Document type_o_SET DOCUMENT TYPEという非推奨のコマンドの代わりに使用する必要があります。ドキュメントの読み込み

ログファイルへの簡単アクセス

Get 4D fileコマンドは、ログファイルへのアクセスをより良くするために強化されました。すべてのログを含むフォルダーを取得する代わりに、特定のログファイルを簡単に見つけることができます。このコマンドのために、新しいセレクタが作成されました。リクエストログファイルデバッグログファイルバックアップログファイル検証ログファイルログファイルの圧縮ログファイルの修復HTTPデバッグログファイルアプリケーションログファイルの構築ドキュメントを読む

タイムスタンプコマンド

Timestampコマンドは、ミリ秒を含む正確なUTCタイムスタンプを取得することができます。ドキュメントを読む

ユーザーエクスペリエンス

オブジェクト属性のコード補完とサジェスト

メソッドエディターが強化され、オブジェクト属性のコード補完ができるようになりました。オブジェクトの後にドット文字が入力されるたびに、提案される属性のリストが表示され、コーディング速度を向上させ、ミスやタイプミスを回避することができます。オートコンプリートの動作は、「4D preferences」パネルからカスタマイズでき、ドット文字を入力した後に自動的に候補リストを開くか(オプションにチェック)、タブキーを使用した後にのみ開くか(オプションにチェックなし)を定義できます。 ドキュメントを読む

Alturaフリー4D Windows 64-bit製品群

4D Windows 64-bit製品ライン全体が、AlturaのMac2Win ライブラリに依存しなくなりました4D Server Windows 64-bitは最後のステップで、4D v16 R4で完了しました。これにより、4DはWindowsプラットフォーム上で最新のテクノロジーを内部で使用することができ、SDIなどの新機能の恩恵を受けることができます。ドキュメントを読む

WindowsでのSDIサポート

4D Windowsアプリケーションは、グレーのメインウィンドウ(MDI –Multiple Document Interface)を持ち、すべてのアプリケーションウィンドウはその中に表示されていました(子ウィンドウとして)。SDI(Single Document Interface)アプリケーションでは、メインウィンドウから独立した多数の追加ウィンドウを開くことができます。これらのウィンドウは、他のスクリーンに移動でき、メインウィンドウが隠されても表示されたままになります。 ドキュメントを読む

リストボックスに関するヘルプ

SET DATABASE PARAMETERコマンドを使用して、4Dアプリケーション内のすべてのヘルプヒントをプログラミングで無効または有効にすることができます。また、表示遅延や最大表示時間を言語別に定義することも可能です。しかし、それだけではありません。OBJECT SET HELP TIPコマンドを使って、ヘルプチップのテキストを動的に変更することも可能なのです。さらに、LISTBOX GET CELL POSITIONコマンドは、2つの新しいオプションパラメータ(xとyの位置、ピクセル単位)をサポートし、対応する列と行の番号を返すようになり、リストボックスの列、行、特定のセルにヒントを表示することができるようになりました。ドキュメントを読む

プログラミングでフォームのタブ順序を定義する

フォームのオブジェクト入力順序をプログラミングで定義することにより、ユーザーがTABキーを押したときに、次のどのフォームオブジェクトにフォーカスが当たるかを制御することができます。FORM SET ENTRY ORDERと FORM GET ENTRY ORDERという2つの新しいコマンドを使えば、現在のプロセスのフォームオブジェクトの入力順を動的に設定したり取得したりすることができます。ドキュメントを読む

IPv6関連のユーザーインターフェイスの改善

IPv6ネットワーク構成のユーザーにとって、より良いユーザーエクスペリエンスとなるようにUIが改善されました。 ドキュメントを読む

設計で見つける “の後の結果のエクスポート

find in design” ダイアログは、結果ウィンドウに関連する2つの新しい機能で強化されました。新しいボタンが追加され、進行中の検索を中断することができるようになりました。さらに、新しいフィルターオプションにより、残しておきたい結果項目を選択し、その選択項目以外を削除することができます。また、”Find in Design “操作の結果は、階層的なリストで表示されます。また、検索結果をテキストファイルにエクスポートして、後で表計算ソフトなどで開くことができるようになりましたので、結果を簡単に共有したり保存したりすることができます。エクスポートするには、「Find in Design」アクションメニューの新規項目「Export Results」を選択するだけです。 ドキュメントを読む

Customize list box selection highlight color

行やセル単位で、ハイライトの色を詳細に制御できるようになりました。リストボックスのプロパティリストに新しいオプションが追加されました。 Hide selection highlight.このオプションがチェックされている場合、開発者はリストボックスの選択部分を、利用可能なインターフェースオプションを使って表示させる必要があります。そして、選択された行の外観をカスタマイズするために、特定の背景色、フォント色、フォントスタイルをプログラミングで定義することができます。これは、表示されるリストボックスの種類(選択項目か配列か)に応じて、配列または式を使用して行うことができます。ドキュメントを読む

Tabbed windows in 4D Design mode on MacOS Sierra

On macOS Sierra4D Developer Edition 64-bit では、複数のウィンドウを使用する代わりに、タブ付きウィンドウを使用できるようになりました。4D Developer Edition 64-bitでは、4D Preferencesで利用可能な新しいWindow tabbingオプションにより、デザイン環境でこのAppleの新機能を利用することができます。この新しい環境設定が有効な場合、メソッドとフォームエディタのウィンドウは、タブで1つのウィンドウにまとめることができます。 ドキュメントを読む

クイックレポートエディタでのクロステーブル

クイックレポート64ビットエディタでは、リストレポートに加え、クロステーブルのレポートがサポートされ、エンドユーザーがレポートをデザインする際に、スムーズなユーザーエクスペリエンスを提供できるようになりました。クロステーブルを選択すると、ピボットテーブルとしてレポートを表示することができます。なお、32ビット版4D製品で作成された既存のレポートを再度開くことは可能です。 ドキュメントを読む

Webエリア用の新しいレンダリングエンジン

より良いユーザー体験と新しいHTML機能のサポートのために、4Dは、4D 64-bitの埋め込みWeb Areaオブジェクトの内部コンポーネントをBlink(Google Chromeでも使用)に更新しています。Blinkは、既存のレンダリングエンジンの中で最も最新で、メンテナンスも行き届いています。Blinkフレームワークへの切り替えは、アプリケーションのコード変更を必要とせず、Webエリアの使用にも全く影響を与えません。埋め込みWebエリアに対するすべてのコマンドとイベントは、サポートされていないいくつかのプリファレンスを除いて、以前と同じように動作します。埋め込みウェブレンダリングエンジンを使用するオプションがチェックされている場合、4Dは、32ビットバージョンではWebKitを、64ビットバージョンではBlinkを使用します。 ドキュメントを読む

R-リリースの詳細