アプリケーション テザリングを使用したリモート アプリケーション上のアクションの共有と実行

提供: RAD Studio
移動先: 案内検索

アプリケーション テザリングの使用 への移動


RTL のアプリケーション テザリングの実装では、アクションをサポートしています。アプリケーション テザリングを使用すると、以下が可能になります。

アプリケーション テザリングを使ってアクションを共有するには、まず、アプリケーションにアプリケーション テザリング機能を追加し、他のアプリケーションを発見しペア設定して接続できるようアプリケーションを準備する必要があります。

アクションの作成

アプリケーション テザリングを使ってアクションを共有したり、ローカル アクションを使ってリモート アクションを実行する前に、アクションとは何かと、その定義方法を理解しておく必要があります。

アクションの共有

既存のアクションを共有するには:

  1. フォーム デザイナTTetheringAppProfile コンポーネントを選択し、[オブジェクト インスペクタ]でその Actions プロパティをダブルクリックします。
  2. 開いたアクション リスト エディタで、新規作成 をクリックして、新しい TLocalAction をリストに追加します。TLocalAction は、実際のアクションについての共有情報を提供するものです。
  3. 新規追加した TLocalAction をアクション リスト エディタで選択した状態で、[オブジェクト インスペクタ]Action プロパティのコンボ ボックスを開き、この TLocalAction のインスタンスに関連付けたい既存アクションを選択します。

これで、アクションがアプリケーション テザリングによって共有されます。接続されたアプリケーションから、このアプリケーション上でこのアクションをリモート実行することができます。

リモート アクションの実行

アクションを共有しているアプリケーションに自分のアプリケーションを接続したら、その共有されたアクションをターゲット アプリケーション上でリモート実行することができます。

グループを使って他のアプリケーションに接続している場合には、設計時にリモート アクションとローカル アクションを関連付けることができます。そのローカル アクションを実行すると、関連付けられたリモート アクションがトリガされます。

または、他のアプリケーションとの接続にグループを使用しているかどうかに関係なく、アクション名を使って実行時にリモート アクションを同期に実行するか、非同期に実行することもできます。

グループで接続されたアプリケーション上のリモート アクションをローカル アクションを使って実行する

設計時にローカル アクションとリモート アクションを関連付けるには:

  1. トリガしたいリモート アクションと同じ Name のアクションを作成します。「アクションの作成」セクションを参照してください。
  2. 上述の手順で、アプリケーション テザリングを使ってこのアクションを共有します。
  3. 新規追加した TLocalAction をアクション リスト エディタで選択した状態で、[オブジェクト インスペクタ]Kind プロパティを Mirror に変更します。

TLocalAction の Kind を Mirror に変更すると、TLocalAction の Action プロパティに定義したアクションは共有されません。そうではなく、関連付けたアクションをアプリケーション内で実行するたびに、TLocalAction で指定した名前と同じ Name を持つリモート アクションが TLocalAction によってトリガされます。

RunRemoteAction を使ってリモート アクションを実行する

TTetheringAppProfile コンポーネントには RunRemoteAction というメソッドが用意されており、これを使用してリモート アクションを実行することができます。

どのリモート アクションを実行するかは、以下のいずれかのパラメータで指定できます。

  • リモート アクションを含んだリモート アプリケーション プロファイルを表す TTetheringProfileInfo のインスタンスと、リモート アクションの名前を指定する。
TTetheringManager コンポーネントの RemoteProfiles プロパティは、お使いのプロファイルに接続されているリモート アプリケーション プロファイルのリストを示します。
TTetheringAppProfile コンポーネントには GetRemoteProfileActions というメソッドが用意されています。このメソッドは、TTetheringProfileInfo のインスタンスとして指定されたリモート アプリケーション プロファイルが共有しているリモート アクションのリストを返します。

RunRemoteActionAsync を使ってリモート アクションを実行する

TTetheringAppProfile コンポーネントには RunRemoteActionAsync というメソッドが用意されており、これを使用してリモート アクションを非同期に実行することができます。リモート アクションを非同期に実行することで、呼び出し側はリモート アクションが終了するまでブロックされません。

どのリモート アクションを実行するかは、以下のいずれかのパラメータで指定できます。

  • リモート アクションを含んだリモート アプリケーション プロファイルを表す TTetheringProfileInfo のインスタンスと、リモート アクションの名前を指定する。
TTetheringManager コンポーネントの RemoteProfiles プロパティは、お使いのプロファイルに接続されているリモート アプリケーション プロファイルのリストを示します。
TTetheringAppProfile コンポーネントには GetRemoteProfileActions というメソッドが用意されています。このメソッドは、TTetheringProfileInfo のインスタンスとして指定されたリモート アプリケーション プロファイルが共有しているリモート アクションのリストを返します。

関連項目