サービス&サポート


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クライアントのネットワークコンピュータ名と一致する場合は、そのクライアントに対してコマンドが発行されます。

注記:
構成:
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クライアントの開始時に一度だけ起動する必要があります。

コマンドを発行する:
複数のコマンドを同じコマンドに対して発行するマクロの例を示します。
! "RSI-Computer"は、RADSクライアントコンピュータの名前です。
! "RSViewCommand"は、RSView32文字列タグです。

RSViewCommand = "RSI-Computer::Display Screen1"
RSViewCommand = "RSI-Computer::Beep"
RSViewCommand = "RSI-Computer::Display Screen2"

注意事項:
弊社では、このユーティリティにテストを実施して、正しく機能することを確認していますが、ユーザのプロジェクトで使用する前に、製造環境以外の場所で十分にテストする必要があります。ユーティリティの機能がユーザの要件に適合しないことがあります。また、ユーティリティの欠陥が検出されて、プロジェクトで正しく機能されないことがあります。ユーティリティの欠陥を検出した場合は、ロックウェル・ソフトウェアの技術サポートまでお知らせください。弊社にて修正を行ないます。

インストールおよび要件:
注記:
以下のエラーが発生した場合は、サーバ上に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.