表示: Object Pascal C++
表示設定

Appmethod 1.15 の新機能

提供: Appmethod Topics
移動先: 案内, 検索

Appmethod 1.15 リリースでは、新しい機能の追加や既存機能の改良が多数行われています。重要なポイントについて、以下で説明します。

目次

1.15 向けに行われた FireMonkey の変更点

FireMonkey マルチデバイス アプリケーションではデスクトップ プラットフォームとモバイル プラットフォームを両方ともサポート

デスクトップ アプリケーションを作成するかモバイル アプリケーションを作成するかを選択する必要はなくなりました。FireMonkey アプリケーションは今ではマルチデバイス アプリケーションと呼ばれ、デフォルトで、使用可能なターゲット プラットフォームをすべてサポートしています。

FireMonkey では新しい Google Mobile Ads API を Android に使用

FireMonkey では、新しい Google Mobile Ads SDK を使用して Android デバイス上で広告機能を提供するようになりました。

以前の FireMonkey では Google AdMob SDK を使用していましたが、これは非推奨になりました。Google の発表によれば、Play Store では、Google AdMob SDK で作成されたアプリケーションの受け付けを 2014 年 8 月 1 日に中止します。Google AdMob SDK ではなく Google Mobile Ads SDK を使用するように既存の Android アプリケーションを更新してください。「モバイル アプリケーションへの広告機能の追加」を参照してください。

新規の TMultiView コントロール

FireMonkey では、サポートされているターゲット プラットフォームのいずれにも使用できるマスタ/詳細インターフェイスを実装できるようになる TMultiView コンポーネントをサポートするようになりました。

  • マスタ ペインには、編集ボックス、ラベル、リストなどのあらゆるビジュアル コントロールの集合を表示することができます。
  • 詳細ペインには、通常、マスタ ペインのコントロールのプロパティに応じた情報が表示されます。

このコンポーネントとサンプル アプリケーションの詳細については、「モバイル チュートリアル:マルチビュー コンポーネントを使用して情報の代替ビューを表示する(iOS および Android)」を参照してください。

iOS での TEdit と TCalendar のネイティブ表示

FireMonkey では、iOS ターゲット プラットフォームで、TEdit コンポーネントと TCalendar コンポーネントについてスタイル付き表示とネイティブ表示の両方をサポートするようになりました。

  • デフォルトでは、これらのコンポーネントのいずれをフォーム デザイナに追加しても、スタイル付き表示が使用されます。
  • iOS ターゲット プラットフォームでネイティブ表示を使用するには、新規の TPresentedControl.ControlType プロパティを Platform に設定します。

詳細については、TPresentedControl.ControlType を参照してください。

メモ: FMX.DateTimeCtrls.TCalendar クラスは専用のユニット FMX.Calendar に移動しました。既存のアプリケーションで TCalendar を使用している場合は、FMX.Calendar を uses セクションや #include 文に必ず含めます。

マルチ モニタのサポート

FireMonkey アプリケーションが複数のモニタ上で実行されている場合、TScreenモニタとその寸法のリストを保持して、フォームを含むモニタを取得するメソッドを提供します。これにより、複数のアクティブなモニタ上のユーザー インターフェイスのレイアウトを効果的に管理することができます。

マルチタッチ サポートとジェスチャの変更点

  • 新規の FMX.MultiTouch ユニットには TMultiTouchManager が含まれています。
  • 新規の OnTouch イベントでは、純粋にジェスチャである(決してマウス イベントとは解釈されない)ジェスチャを処理します。
  • TFormTControl には、ユーザーが指または類似のデバイス(マウス以外)を使ってタップした場合の OnTap イベントが用意されるようになりました。

Android 向けの没入型フルスクリーン モード

Android 4.4 アプリケーション(KitKat)では、没入型フルスクリーン モードを有効にできます。没入型モードを有効にするには、FMX.Forms.TForm.FullScreenTrue に設定する必要があります。

Google Glass アプリケーションは本質的に没入型フルスクリーン モードになっていることに注意してください。

TControl の Size プロパティと PlatformDefault

TControl には、コントロールのサイズの管理と格納を行う新規プロパティ Size が追加されました。Size プロパティは、新規フィールド PlatformDefault(デフォルトで True に設定)を取り入れたオブジェクト型(TControlSize)です。PlatformDefault により、コントロールは、実行時プラットフォームに合った定義済みサイズに自分自身を自動的にサイズ変更できます。TControl の Width プロパティと Height プロパティは残っていますが、それらの値は、幅および高さの別個のフィールドとしてではなく、TControlSize オブジェクトの内部に保存されるようになりました。

モバイル アプリケーションでの TTabPosition の PlatformDefault 設定

FMX.TabControl.TTabPosition 列挙型には PlatformDefault という新しい値が含まれています。この値の場合、ターゲット プラットフォームのデフォルト動作に従って、タブ位置が次のように設定されます。

  • TTabPosition = tpBottom(iOS アプリケーションの場合)
  • TTabPosition = tpTop(Android アプリケーションの場合)

モバイル チュートリアル:タブ コンポーネントを使用してページを表示する(iOS および Android)」を参照してください。

FireMonkey では iOS および Android で TListView のプル リフレッシュ(Pull-to-Refresh)機能をサポート

FMX.ListView.TListView では、プル リフレッシュ(Pull-to-Refresh)プロパティが利用可能です。これは、リストを下にドラッグしてその内容を更新できるものです。この機能を有効にする方法とその使用方法については、PullToRefresh を参照してください。

FireMonkey の状態保存機能

FireMonkey の新しい状態保存機能を使用すれば、アプリケーションの状態をその終了前に保存でき、その結果、アプリケーションの再起動後にその状態を回復できるようになります。

この新しい機能を管理するために、フォームには、この状態の保存と回復を処理する SaveState という新しいプロパティがあります。この状態保存データへの書き込みと同データからの読み取りはいつでも行えますが、理想的には、この状態の保存は新しい OnSaveState イベントの発生時に、この状態の回復は OnCreate イベントの発生時に、それぞれ行うべきです。

フォームの状態保存の対象には、ユーザー データの他に、アクティブなタブ、編集コントロールに格納されているテキスト、チェック ボックスの選択状態、カレンダ日付、現在選択されている項目などの情報も含まれます。この機能はモバイル プラットフォームでもデスクトップ プラットフォームでも使用できます。

この機能の詳細については、「FireMonkey の状態保存」を参照してください。

タッチ操作に最適化された MetropolisUI スタイルが使用可能

新しく更新された次の 4 つの MetropolisUI スタイルが FireMonkey に対して使用可能です(.style ファイル)。

  • MetropolisUIBlack_touch
  • MetropolisUIBlue_touch
  • MetropolisUIDark_touch
  • MetropolisUIGreen_touch

これらのスタイルはモバイル アプリケーションの UI 要素をすべて備えており、タッチ操作に最適化されています。これらのスタイルは C:\Users\Public\Documents\Embarcadero\Studio\15.0\Styles にあります。

DesignVisible プロパティが削除

FMX.Controls.TControl.DesignVisible プロパティが削除されました。Visible プロパティが実行時と設計時の両方に適用されるようになり、[構造]ビューでは常に、設計時に任意のコンポーネントにアクセスできるようになりました。

FireMonkey ライブラリのリファクタリング

  • TAnimationFMX.Types ユニットから FMX.Ani ユニットに移動しました。
  • FMX.Controls: FireMonkey フォーム アプリケーションを作成する場合は、以下のリファクタリングが行われてもユーザー コードの変更は不要です。FMX.Controls ユニットが FireMonkey フォーム アプリケーションに自動的に組み込まれるからです。
  • FMX.Edit.TNumberBox クラスは専用のユニット FMX.NumberBox.TNumberBox に移動しました。既存のアプリケーションで TNumberBox を使用している場合は、FMX.NumberBox を uses セクションや #include 文に必ず含めます。
  • FMX.DateTimeCtrls.TCalendar は専用のユニット FMX.Calendar に移動しました。アプリケーションで TCalendar を使用する場合は、必ず FMX.Calendar を uses セクションに追加したり #include 文で追加します。
  • MessageDlgInputQueryInputBox には、無名メソッドの参照を含んだ新しいオーバーロードがあります。これまで、これらのメソッドを Android アプリケーションで使用する場合には注意が必要でしたが、この変更により、その必要はなくなりました。

プラットフォーム アシスタントの変更点

PAServer の 2 つの新規コマンド

  • v - 詳細表示モードの切り替え(詳細表示モードでは、コマンドが発行されるたびにコマンドライン パラメータが表示されます)
  • r - すべての子プロセスのリセット、終了

詳細については、「プラットフォーム アシスタント サーバー アプリケーション: PAServer」を参照してください。

新規の PAServer マネージャ

Mac で動作する新しい GUI アプリケーションが追加されました。PAServer マネージャを使用すると、Mac および iOS アプリケーションの複数の PAServer プロセスを作成および管理できます。

StartPAServerMenu.png

詳細については、以下を参照してください。

1.15 向けに行われた IDE の変更点

Appmethod ガイド ツアー

このリリースには、ガイド ツアーを提供して Appmethod を容易に習得できるようにする新しい技術が組み込まれています。ガイド ツアーは、特定の特長や機能を紹介する段階的な解説で構成されます。

これらの対話的なツアーでは、それぞれのステップに吹き出しが表示され、そのステップで何を行うかが説明されます。それらの説明を読み、すべての手順に従ってガイド ツアーを無事完了する必要があります。 [ウェルカム ページ]でしかるべきリンクをクリックすることにより、ガイド ツアーにアクセスすることができます。詳細については、「Appmethod ガイド ツアー」を参照してください。

マルチデバイス アプリケーションのフォーム デザイナの変更点

ChangesFormDesigner.png

新規のマルチデバイス フォームは、すべてのプラットフォーム(デスクトップおよびモバイル)に共通のデザイナで、スタイル付きのマスタ フォームが用意されており、異なるフォーム ファクタおよびレイアウトの複数のビューが使用可能です。「フォーム デザイナ」を参照してください。

デザイナはデフォルト スタイルの Win32 マスタ スタイルで開きます。[スタイル]ドロップダウン メニューを使用すれば、マスタ フォーム スタイルを変更できます。選択肢は、[Windows]、[OS X]、[iOS]、[Android]です。使用可能なコンポーネントおよびそれらのプロパティは、スタイルによって変わります。

すべてのコンポーネントはマスタ フォームに配置し、そこで適切に編集しなければなりません。モバイル アプリケーションをデザインする場合は、「モバイル チュートリアル:レイアウトを使用してフォームのさまざまなサイズや向きを調整する(iOS および Android)」で示した手順に従うことをお勧めします。

[ビュー]ドロップダウン メニューを使用すれば、[Android 7 インチ タブレット][iPhone 4 インチ]などの定義済みフォームをプロジェクトに追加できます。利用可能なビューの 1 つを選択すると、それに対応するフォームがプロジェクト フォルダに追加され、参照句がコードに追加されます。すべてのビューはマスタ フォームを継承しています。「マルチデバイス プロジェクトへのビューの追加」を参照してください。

ビューにより、プロジェクトを特定の定義済みレイアウトにパーソナライズすることができます。使用可能なビューでは、ターゲット デバイスの画面解像度が考慮されています。プロジェクトを特定の解像度用にパーソナライズする場合は、カスタマイズされたビューを追加できます。詳細については、「カスタマイズしたビューのビュー セレクタへの追加」を参照してください。

特定のターゲット向けにプロジェクトを実行するときは、対応するビューだけがアプリケーションに含まれます。

プロジェクト ファイルは配置マネージャに自動的に追加

[プロジェクト マネージャ]を使ってプロジェクトに対してファイルを追加または削除した場合、そのファイルは配置マネージャにより自動的に追加または削除されるようになりました。メディア ファイル、テキスト ファイルなど、アプリケーションに配置する任意のリソース ファイルを追加できます。

データベース ファイルのように、データベース ドライバやライセンス ファイル(機能ファイル)が必要なため、特別な取り扱いが必要になるファイルがあります。この場合は、[機能ファイル]ダイアログ ボックスが自動的に開くので、配置リストに追加する必要があるファイルを選択できます。

[機能ファイル]ダイアログ ボックスには、配置マネージャに対するファイルの自動的な追加/削除を無効にできる新しいオプション([必要に応じて自動的に表示する]チェック ボックス)が含まれています。このオプションをオフにした場合、[機能ファイル]ダイアログ ボックスは自動的には表示されなくなります。代わりに、[機能ファイル]ダイアログ ボックスを手動で開いて、機能ファイルを追加または削除する必要があります。

Android 用の[資格リスト]ページが追加

Android 用の[資格リスト]ページが追加されました(iOS と Mac OS X の場合は既に[資格リスト]をサポートしています)。[資格リスト]ページには、[プロジェクト|オプション...|資格リストでアクセスできます。

Android アプリケーションの資格を設定することができます。たとえば、モバイル アプリケーションに広告機能を追加したり、リモート プッシュ通知サポートの使用によりアプリケーションでリモート サーバーからデータを受信できるようにすることが可能です。

詳細については、「[資格リスト]」を参照してください。

Android へのスプラッシュ画面のサポート

Android アプリケーションのスプラッシュ画面を構成できるようになりました。[プロジェクト|オプション...|アプリケーションを選択し、スプラッシュ画面を有効にし、スプラッシュ画面画像のパスを入力し、スプラッシュ画面の配置を構成します。

詳細については、「スプラッシュ画像」を参照してください。

IDE への Git バージョン管理システムの統合

Appmethod では、バージョン管理されたプロジェクト用に Git バージョン管理システムをサポートするようになりました。また、新しい Subversion 機能がいくつか IDE に追加されました。

  • 履歴マネージャの各タブには、統合された Git バージョン管理の情報がローカル リポジトリから得られ表示されるようになりました。Git か Subversion のどちらかでバージョン管理されているプロジェクトを開くと、[内容][情報][差分]の各タブにさらに情報が表示されます。
  • Subversion サポートを使用する場合は、以下が可能になりました。
    • 新しい Subversion 変更リスト ラベルを使用して、変更されたファイルをグループ化してからリモート リポジトリにコミットする。
    • 新しい SVN マージ ダイアログ ボックスを使用して、変更内容のマージを IDE から開始する。
    • 新しい Subversion ブランチ切り替え機能を使用して、ローカル リポジトリの変更内容をリモート リポジトリの新しいブランチに向ける。

詳細については、以下を参照してください。

Object Pascal パーソナリティでは OS X および iOS シミュレータの場合に SDK が必要

OS X および iOS 向けの Object Pascal アプリケーションの開発に SDK(ソフトウェア開発キット)が必要になりました。

SDK(ソフトウェア開発キット)には、ターゲット プラットフォーム向けのアプリケーションをビルドするための一連のファイルが用意されており、ターゲット プラットフォーム上またはターゲット プラットフォームをサポートしている中間プラットフォーム(たとえば、iOS 向けの SDK が用意されている Mac OS X など)上でのそれらのファイルの実際の場所が定義されています。

Mac OS X または iOS(デバイスまたはシミュレータ)向けの新しい SDK を Mac から開発システムに追加する手順については、「Mac OS X、iOS デバイス、iOS シミュレータ用の SDK の追加」を参照してください。

[プロジェクト マネージャ]から Android 向けのアプリケーションに Java ライブラリを追加

1.14 では、アプリケーションにカスタム Java ライブラリを追加するには、classes.dex ファイルを手動で作成し配置する必要がありました。

1.15 では、[プロジェクト マネージャ]で、[Android]プラットフォーム ノード内にある新規の[ライブラリ]ノードを使ってカスタム Java ライブラリを簡単に追加できます。「[プロジェクト マネージャ]を使用した Java ライブラリのアプリケーションへの追加」を参照してください。

1.15 向けに行われたランタイム ライブラリ(RTL)の変更点

Bluetooth 用の RTL API

RTL には新規ユニット System.Bluetooth があり、そこには、アプリケーションの動作デバイスの Bluetooth 機能にアクセスするためのマルチデバイス API が用意されています。この新しいユニットでは、クラシック Bluetooth と Bluetooth Low Energy(Bluetooth LE)の両方をサポートしています。「Bluetooth の使用」を参照してください。

アプリケーション テザリングでクラシック Bluetooth をサポート

アプリケーション テザリングを使用して、TCP/IP ネットワーク プロトコルだけでなくクラシック Bluetooth プロトコルも使って、アプリケーションに接続できるようになりました。

アプリケーション テザリングでサブネット外部の接続をサポート

XE6 では、接続先のリモート デバイスを検出するメソッド AutoConnect および DiscoverManagers では、アプリケーションの動作デバイスが存在するローカル エリア ネットワーク(LAN)のサブネットでデバイスを探していました。その結果、アプリケーション テザリングを使用して、同じ LAN の異なるサブネットにあるデバイスや、まったく異なる IP アドレスのデバイスに接続することはできませんでした。

1.15 では、これらのメソッドのどちらにも省略可能なパラメータ <Target> が用意されています。このパラメータを使用して、この動作をオーバーライドしリモート マネージャの検索先の IP アドレスまたはサブネットを指定することができます。「サブネット外部のアプリケーションへの接続」を参照してください。

並列プログラミング ライブラリ

新しい System.Threading ユニットをアプリケーションに組み込むことで、新しい並列プログラミング ライブラリを使用することができます。

Web エンコード/デコード用の新規ユニット

RTL には、Base64、HTML、URL のエンコード/デコード機能を提供する新規ユニット System.NetEncoding が用意されています。

Appmethod の前バージョンに用意されているメソッドと、System.NetEncoding に含まれているメソッドの対応関係を次の表に示します。

1.14 1.15

Soap.EncdDecd.EncodeBase64

TNetEncoding.Base64.EncodeBytesToString

Soap.EncdDecd.DecodeBase64

TNetEncoding.Base64.DecodeStringToBytes

Soap.EncdDecd.EncodeStream
Soap.EncdDecd.EncodeString

TNetEncoding.Base64.Encode

Soap.EncdDecd.DecodeStream
Soap.EncdDecd.DecodeString

TNetEncoding.Base64.Decode

Web.HTTPApp.HTMLEncode

TNetEncoding.HTML.Encode

Web.HTTPApp.HTMLDecode

TNetEncoding.HTML.Decode

Web.HTTPApp.HTTPEncode

TNetEncoding.URL.Encode

Web.HTTPApp.HTTPDecode

TNetEncoding.URL.Decode

これまでサポートされていたメソッドの中には、AnsiStringUnicodeString を両方ともサポートしているものもあれば、AnsiString のみサポートしているものもあります。新しい 1.15 メソッドでは UnicodeString のみサポートしています。1.15 で新しいメソッドを AnsiString に対して使用するには、入力文字列とメソッドの結果を次のようにキャストする必要があります。

Object Pascal の場合:

AnsiStringResult := AnsiString(NewMethod(string(AnsiStringInput)));

C++ の場合:

AnsiStringResult = AnsiString(NewMethod(UnicodeString(AnsiStringInput)));

XML に関連する改良点

パフォーマンスを向上させる新しいクロスプラットフォーム対応 XML ベンダ

MSXML と ADOM に加えて、Appmethod には、OmniXML という新しい XML ベンダが用意されるようになりました。クロスプラットフォーム対応 XML ベンダである OmniXML は、代わりのクロスプラットフォーム対応 XML ベンダである ADOM よりもはるかに良いパフォーマンスを示します。Appmethod の OmniXML XML ベンダは OmniXML をベースにしていますが、名前空間のサポートなど、さらに機能が追加されているほか、SOAP とも互換性があります。

XML ベンダを選択するための新しいシステム

RTL には、使用する XML ベンダを指定する新しいシステムが用意されています。

この新しい XML ベンダ選択システムでは、MSXML がデフォルトの XML ベンダとして指定されます。MSXML では Windows プラットフォームのみサポートしています。別の XML ベンダを指定しない場合、アプリケーションは Windows 以外のプラットフォームでは XML をサポートせず、他のプラットフォームでアプリケーションを実行すると、実行時例外が発生します。

別の XML ベンダを選択するには、RTL の XML 機能(たとえば TXMLDocument クラスなど)を使用するユニットに、選択するベンダのユニットへの参照を追加します。複数の XML ベンダ ユニットを追加した場合は、最初に参照したユニットが XML ベンダとして使用されます。この動作をオーバーライドするには、グローバル変数 DefaultDOMVendor の値を、目的とする XML ベンダのグローバル変数に変更します。

メモ: 各 XML ベンダのユニットおよびグローバル変数については、「組み込み XML ベンダの一覧」を参照してください。

TXMLDocument コンポーネントを使用する場合は、その DOMVendor プロパティを使って XML ベンダを選択できます。DOMVendor の値を変更すると、このコンポーネントを使用しているユニットは指定の XML ベンダを使用するように構成されるため、ユニット参照または DefaultDOMVendor グローバル変数を手動で変更する必要はありません。

プラットフォームごとに異なる XML ベンダを使用する(たとえば、Windows では MSXML を、その他のプラットフォームでは OmniXML を使用する)には、次のような条件付きコンパイルを使用します。

Windows プラットフォームとモバイル プラットフォーム向けの PCRE 8.35

1.15 では、PCRE ライブラリ(Perl 互換正規表現のサポートを提供するライブラリ)が次のようにアップグレードされました。

プラットフォーム 1.14 1.15

32 ビット Windows
64 ビット Windows

7.9
(2009-04-11)

8.35
(2014-04-04)

iOS デバイス
Android

8.31
(2012-07-06)

Mac OS X
iOS シミュレータ

これらのプラットフォームでは、システムで使用可能なバージョンの PCRE を使用します。

  • PCRE の以前のバージョンからの変更点を確認するには、公式の変更ログを参照してください。
  • PCRE を使用する場合は、System.RegularExpressions ユニットのドキュメントを参照してください。

PCRE 8.35 では数字で始まるグループ名を使用できない

XE6 では、"1" や "2nd" など、数字とアルファベットの任意の組み合わせで構成される名前の名前付きグループを定義できました。たとえば、"(?<1>\w+)\s+(?<2>fish)\s*" などです。

(PCRE ライブラリの最新バージョンが組み込まれている)1.15 では、数字で始まるグループ名を使用できなくなりました。つまり、"1" や "2nd" などのグループ名はもう使用できません。ただし、名前の先頭文字でない限り、"g1" や "my2cents" などのように、名前に数字を使用することはまだできます。

zlib 1.2.8

Appmethod には、zlib 圧縮ライブラリの新しいバージョン 1.2.8 が含まれています。

  • zlib 1.2.7 以降の変更点を確認するには、公式の変更ログを参照してください。
  • zlib を使用するには、System.ZLib ユニットのドキュメントを参照してください。

1.15 向けに行われた C++ コンパイラの変更点

Win64 向けの Boost ライブラリと Dinkumware ライブラリの新しいバージョン

Boost ライブラリと Dinkumware ライブラリの新規バージョンがインストールされるようになりました(どちらも Win64 専用)。

新規の iOS ヘッダー(libcplusplus)が追加

iOS ヘッダー libcplusplus が Appmethod で使用されるようになりました。更新されたこれらのヘッダーには、アトミック操作やベクタのデフォルト初期化など、より多くの C++11 機能が用意されています。

[移動先...]コマンド

Appmethod では、コード エディタのコンテキスト メニューで使用可能な[検索]コマンド(C++ の場合)に追加された[移動先...]コマンドをサポートするようになりました。[移動先...]コマンドでは、アクティブなプロジェクト全体で、指定の検索条件に合う識別子や定数を探します。詳細については、以下を参照してください。

Delphi パッケージの場合、[出力 - C/C++]のオプションで名前空間の選択が無効に

C++ 出力ファイルの生成については、Delphi パッケージの場合と実行可能ファイルの場合とで、オプションが異なります。パッケージの場合は、次の 2 つの選択肢があります(.exe ファイルの場合は 11 個の選択肢)。

  • [DCU を生成](C++ からパッケージを使用しない場合)
  • [すべての Appmethod C++ ファイル (パッケージ ライブラリを含む) を生成]

この変更により、Delphi パッケージが C++ アプリケーションで使用される場合に発生する可能性のある名前空間に関する問題が解消されます。

1.15 向けに行われた Object Pascal コンパイラの変更点

動的配列に対する文字列のような操作をサポート

  • 文字列の追加の場合と同じようにして、動的配列を追加できます。

次に例を示します。

A: array of integer;
A:=[1,2,3];
A:=A+[4,5]; //A will become [1,2,3,4,5]
var B: TBytes = [1,2,3,4]; //Initialization can be done from declaration
  • Insert 関数では、インデックスの位置を先頭に動的配列を挿入します。これは、変更された配列を返します。
insert(newEntry, A, index); // insert new element or array into A at position index
A: array of integer;
A:=[1,2,3,4];
insert(5,A,2); // A will become [1,2,5,3,4]
  • Delete 関数は動的配列から要素を削除し、変更された配列を返します。
Delete(A,index,noElem); //deletes noElem elements from A starting at index
A: array of integer;
A:=[1,2,3,4];
Delete(A,1,2); //A will become [1,4]
  • Concat 関数を使用して、2 つの異なる動的配列を連結できます。
A := Concat([1,2,3],[4,5,6]); //A will become [1,2,3,4,5,6]

1.15 向けに行われたデータベースおよび接続機能の変更点

エンタープライズ モビリティ サービス

新しいエンタープライズ モビリティ サービス(EMS)では、クラウドや社内にホストできるモバイル エンタープライズ アプリケーション プラットフォームを提供し、カスタム REST API やエンタープライズ データベース データを公開します。

EMS が開発されているのは、REST API サーバー、リモート データベース アクセス、ソリューション利用の追跡が組み込まれた包括的なソリューションを顧客に提供するためです。EMS データベースには、デバイスとユーザーのアクティビティが格納され、EMS サーバーでは、この情報の解析を実行し結果を生成します。

EMS アーキテクチャの主要なコンポーネントは次のとおりです。

  • EMS サーバーは、EMS クライアントにコア機能およびサービスを提供するコンポーネントです。EMS サーバーでは、登録ユーザー、デバイス、アプリケーションのアクティビティなどの情報を格納している EMS データベースを管理します(解析結果を生成します)。
  • REST API は EMS データベース データへのアクセスに使用されます。EMS クライアントでは、EMS サーバーの REST 管理用組み込み API を呼び出すことにより、EMS データベース内の情報にアクセスできます。独自の EMS パッケージまたは FireDAC EMS パッケージを作成しそれらのリソースを EMS サーバーに登録することにより、既存の EMS サーバーの機能を拡張することができます。
  • EMS クライアントは、REST API を使用することにより、EMS サーバーに登録されているリソースにアクセスできるモバイルまたはデスクトップ アプリケーションです。FireDAC の EMS サポートは提供されているので、EMS FireDAC クライアント アプリケーションを作成できます。
  • EMS コンソールでは、EMS データベースに格納されている情報を読み取り、お使いのデフォルト ブラウザに表示します。EMS コンソールには、ユーザー、デバイス、グループの一覧が表示され、EMS データベースに格納されている解析結果グラフも表示されます。

EMS 用の新規コンポーネントが IDE に追加されました。REST.Backend.EMSProvider.TEMSProvider や(クライアント アプリケーションで FireDAC をサポートするための)REST.Backend.EMSFireDAC.TEMSFireDACClient などです。TBackendQuery などの既存の BaaS コンポーネントを EMS クライアント アプリケーションで使用することもできます。

EMS 関連トピック

Android プッシュ通知アプリケーションでの Parse プロバイダのサポート

Appmethod REST BaaS フレームワークでは、Android プッシュ通知アプリケーションのプロバイダとして Parse BaaS をサポートするようになりました。これまでは、Parse プロバイダは Appmethod iOS アプリケーションの場合にのみ使用できました。

Parse BaaS プロバイダからのプッシュ通知の受信を開始するには、Appmethod アプリケーションを Android Parse プッシュ通知クライアントとして登録し、Parse クラウド サービスを構成します。

詳細については、「モバイル チュートリアル:リモート通知を使用する(iOS および Android)」と「Android プッシュ アプリケーションの作成」を参照してください。

FireDAC の変更点

  • デスクトップおよびモバイル向けの新規 IBLite ドライバ(既存の IB ドライバをベースにしたもの)
    • New DriverID = 'IBLite'
    • 新規プロパティ TFDPhysIBDriverLink.Lite
  • DBMS API コマンド ネイティブ タイムアウトのサポート
    • FireDAC ドライバでサポート: Advantage、Informix、SQL Server
  • FireDAC 接続パラメータが[オブジェクト インスペクタ]にレコードとして表示されるようになりました。
    • TFDConnection.Params の型は TFDConnectionDefParams 基底クラスになりました。
    • TFDConnection.DriverName に応じて、パラメータの型が TFDPhysXxxConnectionDefParams(Xxx はドライバ ID)のいずれか 1 つになります。
  • メタデータ書き込み機能
    • 新規メソッド TFDTable.CreateTable
    • TFDBatchMove.Options の新規オプション poCreateDest
    • 新規メソッド IFDPhysCommandGenerator.GenerateCreateTable、GenerateDropTable

[データ エクスプローラ]の機能強化

[データ エクスプローラ]には FireDAC アプリケーションの次のノードが表示されるようになりました。

  • 主キーとそれらのフィールド
  • 外部キーとそれらのフィールド
  • ジェネレータ

1.15 向けに行われたデバッガの変更点

Mac での新しい PAServer マネージャ アプリケーション

新しい Mac GUI アプリケーション PAServer マネージャが PAServer(プラットフォーム アシスタント サーバー)と一緒に提供されるようになりました。PAServer マネージャを使用すれば、複数の PAServer インスタンスを作成および管理することができます。

詳細については、以下を参照してください。

モバイル デバッガでのマルチバイト サポート

  • モバイル プラットフォーム(iOS および Android)向けのデバッガでは、UTF8、UTF16、UTF32 の各エンコーディングの Unicode 文字および文字列を使用できるようになりました。
  • デバッガでは、iOS アプリケーションのファイル名で国際文字(hélène や éléments などの Unicode)を使用できるようになりました。

バイナリの info.plist ファイルが配置

info.plist ファイル(Mac および iOS アプリケーションに必要)は、キーとそれに関連付けられる値を記述した XML ファイルとして引き続き生成されます。ただし、配置の場合、この XML ファイルはバイナリに変換されるようになりました。info.plist ファイルの内容については、「[バージョン情報]」を参照してください。

1.15 向けに行われたアプリケーション サンプルの変更点

製品に付属しているアプリケーション サンプルは再編成され、一部のアプリケーション サンプルはもう提供されていません。マルチデバイス アプリケーション開発により関係のある新しいサンプルは提供されていますが、関連性の低い古いサンプルは削除されました。 削除されたサンプルは、1.15 のリリース後に、別個の SourceForge リポジトリで入手できるようになる予定です。

製品に付属しているアプリケーション サンプルの詳細については、「Category:Sample」を参照してください。

関連項目


個人用ツール