誰かがこのコードがうまくいかない理由を説明することができます。 Authorsフィールドに値がなく、何も印刷されません。アクセスACLのエントリ
Sub Querysave(Source As Notesuidocument, Continue As Variant)
' Add users with role R* to Authors
Dim s As New NotesSession
Dim e As NotesACLEntry
Dim it As NotesItem
Set it = Source.Document.GetFirstItem("Authors")
Set e = s.CurrentDatabase.ACL.GetFirstEntry
While Not e Is Nothing
Print e.Name
If e.IsRoleEnabled("R1") Then it.AppendToTextList(e.Name)
If e.IsRoleEnabled("R2") Then it.AppendToTextList(e.Name)
Set e = s.CurrentDatabase.ACL.GetNextEntry(e)
Wend
End Sub
データベースはサーバ上にあり、ACLにエントリがあります。
答えを –
にするのではなく、質問を更新する必要があります。はい、これは状態情報に依存するメソッドを「連鎖」するときに発生する問題です。私は、おそらくボブ・バラバンによって、Javaを使ったドミノのプログラミングについての彼の古い本で、あるいはプレゼンテーションで、問題を説明したことを知っていることを知っています。正式な文書に記載されているかどうかはわかりません。あなたが書いた最初の方法では、最初のエントリを取得するために使用したACLオブジェクトは、次のエントリを取得するために使用するACLオブジェクトと異なり、状態が失われます。通常、Notesオブジェクトクラスの場合、子オブジェクトを使用するまで、親オブジェクトは常にスコープ内に保持する必要があります。 –
@Ken、そうですが、今は移動して、あなたのコメントを削除するには遅すぎます。 – PeterMmm