4D v16.3

振る舞いの変更

ホーム

 
4D v16.3
振る舞いの変更

振る舞いの変更    


 

4D v16 では 4D 製品のライセンス管理がより簡単になりました:

初回アクティベーションの簡素化: "ライセンスマネージャー" ダイアログボックスに新しい 4D Server のライセンス番号を入力すると、一回の操作でそのサーバーライセンスにリンクしているすべてのエクスパンション (追加クライアント、プラグイン等) も自動でアクティベーションされます。

新しい 更新 ボタン: "ライセンスマネージャー" ダイアログボックスに新しく更新ボタンが追加されました:

このボタンをクリックして、4D のログイン情報 (アカウントとパスワード) を入力すると、カスタマーデータベースに接続して自動で利用中のライセンスを更新します (利用中のライセンスは "有効なライセンス" タブに太字で表示されています)。この更新ボタンは次のような場合に使用します:

  • 追加購入したエクスパンションのアクティベーションを行いたい
  • 延長した期限切れライセンスを更新したい

新しい自動アクティベーション機能: 特定の場合に、製品のアクティベーションを促す機構がトリガーされます。具体的には、次の場合が対象となります:

  • アクティベーションされていない 4D Developer Edition を使って、インタープリターモードのローカルデータベースを開く、または新規作成すると、自動アクティベーション機構が作動します。ダイアログボックスが表示され、4Dのカスタマーデータベースに接続してライセンスのアクティベーションを行うことを知らせます (ご利用の 4Dアカウントのパスワードを入力する必要があります)。
  • 4D Server アプリケーションを起動した場合、サーバーライセンスの自動更新が行われます。アプリケーションをサービスとして運用することを可能にするため、サーバーライセンスの自動更新処理はダイアログボックスなどの表示もなく完全に自動で行われ、ユーザーから見えることはありません。

OBJECT SET FORMAT / OBJECT Get format: これらのコマンドはリストボックスヘッダーのアイコンをサポートするようになりました

METHOD GET CODE: このコマンドはコードをインデント付きテキストを返すようになりました。

DELETE FOLDER: このコマンドは空でないフォルダーも削除できるようになりました。

FONT LIST コマンドは Windows上において、スケーラブルなフォントのみを返すようにアップデートされました。

印刷  

64-bit版のみ: 本章で紹介する新機能は 4D v16 64-bit版 (4D Developer Edition および 4D Volume Desktop、詳細については 印刷アーキテクチャー(新デザイン) を参照ください) でのみ提供されています。

64-bit版の4Dでは印刷アーキテクチャーが完全に書き換えられ、これにより最新のOSに基づいた印刷ライブラリとダイアログボックスの恩恵を受けられるようになりました。この内部的なアップデートは大部分において4Dユーザーからは透過的ですが、以下の変更については注意する必要があります:

  • "印刷ジョブ" ダイアログボックス (WindowsとOS X) はアップグレードされ、両プラットフォームにおいて標準のシステムダイアログボックスとなりました。
  • "ページ設定" ダイアログボックス (Windows) がアップデートされ、現在は OSにより提供されます。
  • PRINT SETTINGS コマンド: 印刷コマンドを呼び出したときに、"ページ設定" ダイアログボックスが自動的には表示されなくなりました。ダイアログを表示させるには、dialType パラメーターに Page setup dialog 定数を指定する必要があります。
    また、このコマンドには二つ目の定数が追加されました: Print dialog によって印刷ダイアログボックスを表示するかどうかを指定することができます。
  • 以下の印刷オプション (GET PRINT OPTION あるいは SET PRINT OPTION コマンドで使用) が変更されました:

    オプション(定数)OS4D v16での状況コメント
    2 (Orientation option)Windows と OS Xアップデート済み印刷ジョブ内から呼び出し可能、つまり同じ印刷ジョブにおいて縦向きと横向きを切り替えることができます。
    8 (Color option)Windows のみ削除済み廃止されました。
    13 (Mac spool file format option)OS X のみ削除済みSET CURRENT PRINTER コマンドの新しいオプションに置き換えられました

注: OPEN PRINTING JOBCLOSE PRINTING JOBSET PRINT OPTION、および SET PRINT OPTION コマンドは 4D Write Pro の WP PRINT コマンドと互換性があります (詳細については、WP PRINT を参照ください)。Paper optionOrientation option 以外のすべてのオプションが、WP PRINT によって印刷される 4D Write Proドキュメントに対してサポートされています。Paper optionOrientation option については、WP USE PAGE SETUP を利用してページサイズと向きの属性を設定することを推奨しています。

行管理配列

新しい 行管理配列 プロパティを使って、次のインターフェースプロパティを管理することができます:

  • "表示" または "非表示" (デフォルトは "表示")
  • "有効化" または "無効化" (デフォルトは "有効化")
  • "選択可能" あるいは "選択不可" (デフォルトは "選択可能")

行管理配列プロパティは LISTBOX SET ARRAYLISTBOX Get array を使用して設定あるいは読み込みをすることができます。またこの配列は、LISTBOX GET ARRAYS コマンドによっても返されます。
以前のバージョンの4Dでは、このプロパティは "非表示行配列" という名前でブール型の配列を受け取りました。互換性のため、行管理配列に対してもブール型の配列は利用可能です。この場合、それぞれの要素はリストボックス内で対応する行の表示/非表示ステータスを示します。Trueは行が非表示状態であり、Falseは行が表示状態であることを意味します。

ヘッダーとフッター

ピクセル単位でのヘッダーの最小高さはシステムにより異なります。最小値よりも小さな値を指定した場合、システムが定義するヘッダーの最小値で置き換えられます。行とフッターには最小値がありません。

Windows 7ではヘッダーの最小高さは 24ピクセルです。変換されたデータベースで高さがこれよりも小さな値に設定されていた場合、自動でリサイズされます。
ヘッダーやフッターの高さは LISTBOX SET HEADERS HEIGHTLISTBOX SET FOOTERS HEIGHT コマンドを使用して動的に設定することもできます。

上述の影響でレイアウトが崩れてしまう場合がありますので、フォームを点検するときの確認事項として留意ください。

変換されたリストボックス

グループ化されたスクロールエリアがリストボックスに変換されると、それらは接続されます。接続されたリストボックスは連携して動作します:

  • ひとつのリストボックス上で行を選択すると、接続されたグループに属するすべてのリストボックスの同じ行が選択されます。
  • リストボックスをスクロールすると、接続されたグループに属するすべてのリストボックスがスクロールされます。

注: 変換されたリストボックスはフォーム上でグループ化されています。
フォームエディターのオブジェクトメニューから、接続・切断コマンドを使用して、これらのリストボックスの接続 / 切断を切り替えることができます:

これらのコマンドはフォームエディター上で適切なリストボックスが選択されている場合に有効となります。接続されたリストボックスが選択されている場合、そのリストボックスに接続されているすべてのリストボックス上に特別なバッジが表示されます :

この動作原理を用いて、グループ化されたスクロールエリアの動作を再現します。しかしこの動作を標準のリストボックス機能に置き換えることが推奨されています。

4D 製品およびハードウェアの進化に基づいて、フォームウィザードの詳細設定オプションが更新されました:

  • フォームサイズ のリストに "2048x1536" が項目として追加されました:

  • 生成されたフォームにおいて、ナビゲーションボタンの変数名プロパティは空欄のままになっています。

4D v15 R3 で採用された新しい内部アルゴリズムにより、 Replace string コマンドを使用して特定の文字列を異なる長さの文字列で置換する際の実行速度がとても速くなりました。これは以下のような置換を行う場合があてはまります:

 vResult:=Replace string(Source_Text;"a";"aa") //文字で置き換え
 vResult2:=Replace string(Source_Text2;"à";"aa";*) //文字コードで置き換え

新しいアルゴリズムはどちらのシンタックスにおいても最適化されています。ソースとなるテキストが長く、置換箇所が多いほど、この最適化の差は顕著に現れます。

私たちが行ったベンチマークでは、以前のアルゴリズムと比較して以下のような結果を得ました:

文字コードによる置き換え(* を渡した場合)文字による置き換え(* 省略時)
950倍の速さ4400倍の速さ

このテストはファイル内において32,000箇所の "a" を "aa" に置き換えるという内容で行われました。

注: 同じ長さの文字列で置換する場合は、以前のアルゴリズムと同じ速度になります。

重複不可フィールドにおいて値の重複が検知された際に、より詳細な情報が提供されます:

  • MSC、または VERIFY DATA FILE のようなコマンドを使用すると、それによって生成されたログには違反しているテーブルとフィールド、そして重複している値が表示されます。
  • データ入力時、"重複キー" エラーダイアログボックスにも違反しているテーブルとフィールド、そして重複している値が表示されます。
  • GET LAST ERROR STACK コマンドは、あらゆる重複についての詳細な情報を含みます。
  • 4D がデータファイルを開く際にインデックスを構築 (あるいは再構築) する必要がある場合、重複不可に設定されている関連フィールドでの重複が自動で検知されます。この場合、データベースを開く前に特別な警告ダイアログボックスが表示され、重複した値を特定・削除するために必要な情報をユーザーに提供します:

4Dの以前のリリースでは、DOM Get XML element および DOM Count XML elementsコマンドはelementName 引数については大文字と小文字を区別していましたが、これはxml準拠ではありませんでした。4D v16.2以降、これらのコマンドはデフォルトで大文字と小文字を区別するようになります。以前の振る舞いを維持したい場合には、XML SET OPTIONS コマンドを使用して、XML DOM case sensitivity セレクターをXML case insensitiveへと変更します。

4Dタグ (4DTEXT4DVAR4DHTML4DHTMLVAR、そして 4DEVAL) を使用した数値表現を評価する際、4Dは常にピリオド文字(.)を小数点に使用するようになりました。このコンテキストにおいてはリージョン設定が無視されます。

この機能により、4Dの言語設定とバージョンが異なっていてもメンテナンスが用意となり互換性が保たれます。

例えば、以下のコードはリージョン設定に関わらず使用可能です:

 value:=10/4
 input:="<!--#4DTEXT value-->"
 PROCESS 4D TAGS(input;output)
  // 例え小数点が ',' に設定されていた場合でも、出力は常に2.5になります。

使用コードにおいて、リージョン設定を遵守したうえで4Dタグの数値表現を評価するには、String コマンドを使って修正する必要があります:

  • ピリオドを小数点として使用したvalueを取得する場合: <!--#4DTEXT value-->
  • リージョン設定に基づく小数点を使用したvalueを取得する場合: <!--#4DTEXT String(value)-->

詳細については 4D HTMLタグ を参照ください。

HTTP TRACE メソッドは 4D Webサーバーにおいてデフォルトでは無効化されています。HTTP TRACE メソッドを有効化する必要がある場合には、WEB SET OPTION コマンドに対して Web HTTP TRACE オプションを使用します。

MSCまたは4D Server管理ウィンドウを通して行うメンテナンスオペレーションがログファイルを生成するとき、その名前にはタイムスタンプがつくようになりました。以前のバージョンでは、ログファイルは常に同じファイル名で保存されていたため、既存のログファイルがあれば、それは新しいもので上書きされていましたが、今後ログファイルは生成されるたびに固有の名前でディスクに保存されます。このため、4Dにおいても4D Serverにおいても、データベース管理者が責任を持って、古いログファイルを必要に応じて削除する必要があります。

バージョン v15.x/v15Rx と v16 の変更点: エンコーディングと文字セットの扱い (特にメール送信時の添付ファイル名について) が変わりました。このため、これらの変更が動作に影響しないことを確認する必要があります。

2つのコマンドが更新されました:

  • SMTP_Charset 
    添付ファイル名は base64 でエンコードされます。
    - 引数として 0 を受け渡すと、デフォルト値が使用されます:
         encodeHeaders パラメーター: 題名は "UTF-8"、その他のフィールドは "ISO-8859-1"
         bodyCharset パラメーター: base64 でエンコードされた UTF-8 文字セット
    - 引数として 1 を受け渡すと、SMTP_SetPrefs コマンドで指定した値が使用されます。
  • SMTP_SetPrefs
    charset&Encoding に改名された二つめのパラメーターで、送信するメッセージ本文、ヘッダー、および添付ファイル名で使用される文字セットに加えて、メッセージ本文に適用されるエンコーディングを以下の表の値に応じて指定します:
    本文の文字セット & エンコーディングヘッダーおよび添付ファイル名の文字セット (エンコーディングは常にbase64)
    -1変更しない変更しない
    0Application & binary; エンコーディングなしISO-8859-1
    1デフォルト: UTF-8 & base64デフォルト: 題名は UTF-8、その他のフィールドは ISO-8859-1
    2US-ASCII & 7bitISO-8859-1
    3US-ASCII & quotable-printableISO-8859-1
    4US-ASCII  & base 64ISO-8859-1
    5ISO-8859-1 & quotable-printableISO-8859-1
    6ISO-8859-1 & base64ISO-8859-1
    7ISO-8859-1 & 8bitISO-8859-1
    8ISO-8859-1 & binaryISO-8859-1
    9ReservedReserved
    10ISO-2022-JP (Japanese) & 7bitISO-2022-JP
    11ISO-2022-KR (Korean) & 7 bitsISO-2022-KR
    12ISO-2022-CN (Traditional & Simplified Chinese) & 7 bitISO-2022-CN
    13HZ-GB-2312 (Simplified Chinese) & 7 bitHZ-GB-2312
    14Shift-JIS (Japanese) & base64Shift-JIS
    15UTF-8 & quoted-printableUTF-8
    16UTF-8 & base64UTF-8

 
 

 
プロパティ 

プロダクト: 4D
テーマ: 振る舞いの変更

 
履歴 

New
変更: 4D v16.2

 
ARTICLE USAGE

4D v16への変換 ( 4D v16.2)
4D v16への変換 ( 4D v16.3)

Inherited from : 振る舞いの変更 ( 4D v16)