メモ。

 1.byte 型のデータがアイテムに反映されない。

 2.クラスは相変わらず "オブジェクト指向"

 3.プロフィールの新規作成とアクセス権


1.byte 型のデータがアイテムに反映されない。

プリミティブな Byte 型を持つ値を、NotesDocument.ReplaceItemValue() で書き込んでも、

実際のアイテムに反映されない。


Sub Click(Source As Button)
Dim uiws As New NotesUIWorkspace()
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument

Dim b As Byte

Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document

b = &hff

Call doc.ReplaceItemValue("field1", b)
End Sub


Integer に変更すると書き込める不思議。



2.クラスは相変わらず "オブジェクト指向"

(オブジェクト指向の特徴・特性のうち、いくつかを含有するものをオブジェクト指向性と呼ぶそうな。完全に準拠できているのであれば、オブジェクト指向型になるという…)


このコード。相変わらずコンパイルエラーになります。

Class Parent
Sub new()
End Sub

Sub method1()
End Sub
End Class

Class Child As Parent
Sub new(a As Integer)
End Sub
Sub method1(a As Integer)
End Sub
End Class


コンストラクタについては、オーバーライドできない。

親→子の順番でコンストラクタが呼ばれてます。


3.プロフィールの新規作成とアクセス権

Web アプリで、パブリックアクセスによって要件を実現する際に気をつけること。

プロフィール文書を読み込む際に、

プロフィールが存在しない場合は強制的に作成することになるため、

作成者の権限が必要になる。


@GetProfileField なんかを使うと、張りきって domcfg がしゃしゃり出てくるので注意。

回避策として、WebQueryOpen 時に、代理権限を付与したエージェントが、

プロフィール文書のアイテムをロードすることで解決。

(作成者フィールドなんかで回避できたのかも知れないなぁ)