abOut.nsf

新旧かまわず、またお役立ち度にあまりこだわらずに、 拡張子がnsfであるNoSQLなデータベースファイルと、それを扱うコラボレーション製品に絡んでのあれこれを。

2010/10

文書を編集で開いて、F9を押したら、Escを押して閉じる。
このとき、何も変えていないのに
「変更を保存しますか?」のプロンプトが現れることがあります。

原因として、フィールドに、計算結果フィールドや、
入力変換式(Input Translation)など、式を持つフィールドがあって、
自動的に内容が変わっているから、と云う場合もあります。

が、そういった式が一切無くても、従って、何も変わらないのに
「変更を保存しますか?」と訊かれました。

探ってみると次のことだけで起きてしまうようです。

・フォーム上に、次のどれかのキーワードフィールドがあり、何か選択されている
 チェックボックス/ラジオボタン/コンボボックス/リストボックス

「キーワード5種類のうち、ダイアログリスト以外」と考えると分かり易いかも。
「何か選択されている」と書きましたが、つまり未選択なら発生しないようです。

まだ8以外のリリースでは確認していません。以前からそうだったっけかなぁ。。


※ご参考※
あるボタン内のこんなLotusScriptのコードを調査していて気づいたものです。

 Dim uidoc as NotesUIDocument
 :
 Call uidoc,Save
 Call uidoc,Refresh
 Call uidoc.Close

最後のCloseのところで、「変更を保存しますか?」と訊いてくる場合と、訊いてこない場合があり
なぜ?と探っていたら、
つまり上記キーワードが値なしのときは訊かれず、キーワードが選択されているときは訊かれたという次第でした。

そのことに何となく気づいたのは、バージョンが、R4.台だった頃、使っていたサーバーマシンはWindows/NTでした。
通常、サーバーコンソールからタスクを起動するには「Load (タスク名)」を入力します。
これを簡略化して、「L (タスク名)」でも可能です。

 レプリケータなら 「L replica」
 メールルーターなら 「L router」 と云った具合。

一方、エクスプローラでプログラムフォルダを見ると、タスクに対応するexeファイルが存在します。
Windowsの場合は、なのですが、以下のような感じです。

 レプリケータなら nreplica.exe
 メールルーターなら nrouter.exe と云った具合。

さてR4当時は、サーバー上にも、利用者用と同じクライアントソフトが入っており、
プログラムフォルダ内には、 notes.exe が、ありました。


各プログラムが「nはじまり」で共通することが、あるとき気になり、思いついて、サーバーコンソール上で

「L otes」 と入れてEnterしてみました。

果たせるかな、クライアントが立ち上がり、ワークスペースが表示されました。
つまり、nはじまりのexeファイルの、nを除いた名前で開始できるんだ!

読みが当たったのに気を良くした自分は、さらにワルのりします。

Windows標準の「メモ帳」は、 notepad.exe というexeファイル名です。
もちろん、nはじまりであっても、全くの別アプリケーションですが
これを、サーバーのプログラムフォルダ内にコピー貼付けしちゃいました。
そして、

「L otepad」 と入れてEnterすると、・・・やっぱり!メモ帳が立ち上がりました。


バージョンがR5以降になると、
サーバー内には notes.exe は存在しなくなり、
代わりに nlnotes.exe というクライアントが入っています。
R5のときは、同様の法則で 「L lnotes」で起動させることができました。

ちなみに当時、この方法で起動できたnlnotesのクライアントについて実験すると、
普通にウィンドウを×して終了するのは禁物でした。
以下、記憶が曖昧ですが
もし実施すると、サーバーも道連れで同時に終了してしまうか、
それとも、もっと悲惨だっけ、サーバーがクラッシュしちゃうんだったかな?
平和に終えたければ、タスク同様にコンソールから
「Tell lnotes exit」 とか入れてEnterする必要があったように思います。

ちなみに、8のサーバーでは、 「L lnotes」を行うと、クライアント画面が開きかけるのですが
ウィンドウのオープンエラーの様なメッセージが出て結局開けません。
何かこの方法での起動に対する防御措置が講じられてるようにも見えます。



↑このページのトップヘ