LotusScriptで実行したエージェントは・・・

昨日に続いて、今日も「今まで知らなかった・・・」シリーズです。

プログラムからエージェントを実行する場合、皆さんはどのようにしているでしょうか?

@コマンドの
@Command([ToolsRunMacro];"エージェント名")
@Command([RunAgent];"エージェント名")
を使うか、もしくは、
LotusScriptのNotesAgentクラスのRunメソッド(RunOnServerメソッド)
を使うかのいずれかでしょう。


一見、@コマンドかLotusScriptかの違いしかないように感じますが、実はそうではなかったのです!

実は、LotusScriptのNotesAgentクラスRunメソッドでは、できないことがあるのです。

デザイナーヘルプを良く読むと分かるのですが・・・
MessageBox(Msgbox)やInputboxなど、ユーザからの入力を待つような関数が実行出来ないのです。

ちなみにヘルプには『ユーザーは呼び出されたエージェントと直接対話できません。ユーザーの出力は Lotus Domino log に保存されます。』と書いてあります。
※クライアントからエージェントを実行した場合、「Lotus Domino log」というのは、ローカルPCにある「log.nsf」を指すので、そこに記録されます。

エージェントを間接的に実行するような場合は、この点に注意しましょう。
@コマンドや@関数も積極的に利用しましょう!という良い教訓ですね?

コメント