ホーム > LotusScriptのスクリプトライブラリの変更時に>再コンパイルロータスエージェントを指摘している。

スクリプトライブラリの変更時に再コンパイルするロータスは、エージェントを指摘している。

あなたがLotus Notesでスクリプトライブラリを変更した場合、それはあなたがスクリプトライブラリを呼び出して、あなたはしないすべてのLotus Notesエージェントを再コンパイルする必要がある場合に知っておくことも困難です。 ここで私は、あなたが関数、サブルーチン、またはクラスのメソッドのシグネチャを変更made.Ifてきたいくつかの観測があり、あなたが使用したときにエラーを持っていないために再コンパイルする必要があります。

Notesエージェントは、スクリプトライブラリから一定の値とスクリプトライブラリの定数を使用している場合は変更されています。

Notesエージェントをデバッグモードで実行されている場合*、新しい定数が使用されます
* Notesエージェントを手動で実行するか、またはスケジュールされている場合(あなたはそれをデバッグモードでを実行し、新しい変数を見た場合であっても)、古い定数が使用されます
Notesエージェントでは、開かれたCTRL-S(変更がエージェントに行われてことで)で保存され、クローズされている場合*、古い定数が引き続き使用されます
Notesエージェントが開いている場合、*、変更、およびCTRL-Sで保存され、新しい定数が使用されます
Notesエージェントは、APIを使用して再コンパイルされた場合*、新しい定数が使用されます

私は、LotusScriptをコンパイルするときに、ロータススクリプトのバイトコードが一定の翻訳された値ではなく、定数への参照が含まれているため、古い定数が固執する理由があると思います。 スクリプトライブラリ内の定数を変更した場合、エージェントが一定の値を確認するスクリプトライブラリを振り返ることはないので、これは限りバイトコードの最適化が懸念しているが、悪い良いプログラミングです。

私は自分自身のようなダイビングや関数やコードの変更は今のところ懸念ダイビングの美しさをのライブラリに含めて彼らが望む署名、機能やコンテンツのバイトへの参照だけはないので。
言い換えると、エージェントはスクリプトライブラリの関数やサブルーチンを実行しようとするたびに、それは常にLotusScriptのライブラリーからそれを実行します。 あなたがライブラリ(単独で署名を残して下さい)で関数やサブルーチンの内容を変更し、エージェントを再保存しないのであれば、あなたのコードの変更がまだ認識されます。

1452視聴者が5260回アクセス

  1. コメントはまだありません。
  1. トラックバックはまだありません。