| ActiveXコントロールを使用してRADSサーバからRADSクライアントにコマンドを発行するユーティリティ |
このテクニカルノートの情報は、以下に該当します:
| 製品: | RSView32 Active Display | タイプ: | アプリケーションノート |
| テクニカルノートID: | A1099JA | ||
| パッケージ/モジュール: | Display Client Server | 英文版作成日: | 2001/03/16 |
| リビジョン: | 6.10 6.20.63 6.30.16 | ||
| 修正リビジョン: | 6.30.16 | ||
| サブシステム: | N/A |
| テクニカルノート本文: |
リビジョンノート
2001年3月12日:RSRadRemoteCommandというActiveXコントロールは、Windows 2000 Terminal Server Clientセッションで使用できるようにアップデートされています。詳細は、以下の構成に関する記述を参照してください。
背景:
RSRadRemoteCommandというActiveXコントロールを使用して、RADSサーバからRADSクライアントにコマンドを発行できます。このActiveXコントロールは、RADSクライアント上でサポートされているすべてのコマンドを発行できます。
動作方法:
RSRadRemoteCommandは、RADSサーバおよびコマンドを受取るすべてのRADSクライアント上にインストールされます。各クライアントは、1つのグラフィックにRSRadRemoteCommand ActiveXコントロールがあり、このグラフィックは/ZAによって表示され、メモリ内にキャッシュされて常に更新されます。このActiveXコントロールのRSViewCommandプロパティは文字列タグに関連付けられていて、タグ値が変化すると、ActiveXコントロールによって内容が評価されます。コマンドを特定のクライアントに送信するための構文は、”ComputerName::Command”です。文字列タグのComputerNameがActive Displayクライアントのネットワークコンピュータ名と一致する場合は、そのクライアントに対してコマンドが発行されます。
注記:
- クライアント上でFlushCacheコマンドが発行されると、このActiveXコントロールを含むディスプレイが停止されて、RADSクライアント上における以降のコマンドの実行が妨げられます。
- 古いバージョンとの互換性のためにComputerNameプロパティが文字列タグに関連付けられている場合は、両方のタグを設定して、コマンドを発行しなければなりません。
構成:
- すべてのRADSクライアントおよびRADSサーバ上にRSRadRemoteCommand ActiveXコントロールをインストールします。
- 各クライアント上にRADCCSetup.exeをインストールします。このファイルは、サーバのRSView32ディレクトリに格納されています。
- 新しいディスプレイを作成するか、またはRADSクライアント上に常にロードされている既存のグラフィックを使用します。
- ActiveXツールボックスからUtilitiesタブを選択して、ディスプレイにRSRadRemoteCommand ActiveXを追加します。
- コントロールを右クリックして、Animationを選択して、ActiveXコントロールを選択します。さらに、Propertiesを選択します。
- RSViewCommandプロパティに文字列タグを関連付けます。
- このActiveXを含むグラフィックを表示するように、RADSクライアントがスタートアップで使用するマクロを以下のように編集します。
例:Display Graphic /ZA
Windows 2000 Terminal Servicesを使用する場合の構成:
RSRADRemoteCommand ActiveXコントロールのデフォルトの動作では、文字列のタグ値の先頭部分との比較時に、実行しているシステムのコンピュータ名を使用します。Windows 2000 Terminal Serverセッション内でRADSクライアントが実行される際に、Windows 2000 Terminal Serverコンピュータの名前がデフォルトのコンピュータ名となるため、各クライアントは同じコンピュータ名を使用することになります。これを避けるには、SetIdentity()という特別なメソッドによりコントロールが使用する内部コンピュータ名を上書きすると、Terminal Serverセッション内で実行されるRADSクライアントを識別できます。IDを設定するには、RADStationExecアプリケーションを使用して、RADSクライアントの開始時にコンピュータ名およびそのクライアントのセッション番号をコントロールに渡します。
RADStationExecについては、サポートライブラリの以下のドキュメントを参照してください。
R184JA - RADステーション(クライアント)のコンピュータ名を決定するためのユーティリティ
Windows 2000 Terminal Serverセッション内で実行するためのRADStationExecのセットアップについては、サポートライブラリの以下のドキュメントを参照してください。
A1775JA - Windows 2000 Terminal Serverクライアントセッションで実行されるRADクライアントのコンピュータ名を決定するユーティリティ
以下に、RadStationExecユーティリティを使用してWindows 2000 Terminalセッション用のユニークなコンピュータ名を決定するためのクライアントのスタートアップマクロの例を示します。RSEServerのスタートアップの/snパラメータは、RADStationExecコマンドで使用される"{Computername}"プレイスホルダが、Windows 2000 Terminal Clientソフトウェアを実行するコンピュータの名前に変換されることを意味します。
Appstart RSESERVER/sn
pause 1
display RADREMOTECommand/ZA
pause 1
Appstart RADSTATIONEXEC "Invoke RADREMOTECommand.RemoteCmdActiveX.SetIdentity("{computername}")"<PRE>]
RADREMOTECommand = RSRadRemoteCommand ActiveXコントロールを含むグラフィックの名前
RemoteCmdActiveX = RSRadRemoteCommand ActiveXコントロールの名前
注記:
SetIdentity()メソッドは、RADSクライアントの開始時に一度だけ起動する必要があります。
コマンドを発行する:
- RSViewCommandプロパティに関連付けられている文字列タグをComputerName::Commandに設定します。ComputerNameはクライアントの名前で、Commandは実行するRSView32コマンドです。
- 同じコマンドを2回発行する場合は、コマンドのタグを以下のように設定します。
Tag = ""
複数のコマンドを同じコマンドに対して発行するマクロの例を示します。
! "RSI-Computer"は、RADSクライアントコンピュータの名前です。
! "RSViewCommand"は、RSView32文字列タグです。
RSViewCommand = "RSI-Computer::Display Screen1"
RSViewCommand = "RSI-Computer::Beep"
RSViewCommand = "RSI-Computer::Display Screen2"
注意事項:
弊社では、このユーティリティにテストを実施して、正しく機能することを確認していますが、ユーザのプロジェクトで使用する前に、製造環境以外の場所で十分にテストする必要があります。ユーティリティの機能がユーザの要件に適合しないことがあります。また、ユーティリティの欠陥が検出されて、プロジェクトで正しく機能されないことがあります。ユーティリティの欠陥を検出した場合は、ロックウェル・ソフトウェアの技術サポートまでお知らせください。弊社にて修正を行ないます。
インストールおよび要件:
- RSView32 Ver. 6.1.16またはそれ以上。このアプリケーションは、いくつかのVisual Studioファイルをアップデートします。詳細は、以下のテクニカルノートを参照してください。
E716JA - CMEOPC32.EXE Exception: access violation (0xc0000005), Address:0x78001227(エラーメッセージ) - すべてのRADSクライアントおよびRADSサーバ上にRADSクライアントVer. 6.1.25またはそれ以上がインストールされている。
- すべてのRADSクライアントおよびRADSサーバ上にRSRadRemoteCommand ActiveXコントロールがインストールされている。
- RADSサーバ上にResources CD (March 2000)がインストールされている。RSViewディレクトリにRADCCSetup.exeがインストールされている。
- 1つの文字列メモリタグ
- Windows NTまたはWindows 95/98システムで、Windows installerを使用する製品がインストールされていない場合は、Windows MSI installerが必要です。
注記:
以下のエラーが発生した場合は、サーバ上にRADSクライアントソフトウェアVer. 6.10.25またはそれ以降がインストールされていません。
Failed to create object, close other applications and try again
以下のエラーが発生した場合は、RADSサーバコンピュータ上にRADSクライアントソフトウェアVer. 6.20.63がインストールされていません。
Unable to connect to server
法的な注意事項: |
ロックウェル・ソフトウェア(RSI) のKnowledgebaseに記載された情報は、いかなる保証もなく「そのままで」提供されます。RSI は、明示または暗示されたいかなる保証も負いません。また、RSI がそのような損害の可能性を忠告していた場合でも、直接、間接、偶発的、必然的な利益の損失または損害を含むいかなる損害についても、RSI は責任を負いません。
©2000 Rockwell Software Inc. All rights reserved.
