2010年2月12日金曜日

NotesACL.GetEntry は大文字小文字を区別しない

アプリケーションのACLとして管理者グループ "Administrators" を登録していますが、稀にエントリの名前が "administrators" のようにすべて小文字だったりして気持ち悪い思いをしています。

そこでこれを機械的に変更してやろうかと思い立ち、エージェントを作っていたのですが、思いのほか時間がかかってしまいました。

その原因が標記の件です。

デザイナーヘルプでは NotesACL.GetEntry のパラメータについて「大文字と小文字を区別して、検索対象の名前と完全に一致する名前を指定しなければなりません。」と書かれています。

そこで試しました。

ACL に "Administrators" と頭文字だけ大文字で登録されているエントリに対して NotesACL.GetEntry( "aDMINISTRATORS" ) と大文字小文字を逆にすると、きっとエントリは取得できないのだろう思っていました...

が、見事エントリは取得できるのです。

"Option Compare Binary" を指定しても変わらず。(Case, Pitchも同様)

デザイナーヘルプにはいつも裏切られっぱなし...orz

しかも取得したエントリの Name プロパティの値は、パラメータで指定した "aDMINISTRATORS" です。

結局のところ、大文字/小文字は区別しないことが判明しました。

ACLエントリの大文字小文字なんて気にするな、ということでしょうか...

わかったよ...もう気にしないさ...

ちなみに、全角で "ADMINISTRATORS" としてみたところ、こちらは取得できず、全角半角は区別するようでした。
(Windows Vista + Notes 8.0.1 の環境で確認)

0 件のコメント:

コメントを投稿