以下の例を検討してください。PreferencesDoc は何も渡されません。この関数での割り当ては無視され、セットの後には何も残りません。tmpDoc は適切に設定されています。両方の割り当ては同一であるため、ビューの問題ではありません。明らかにパラメーターであるため、preferencesDoc の割り当てがブロックされています。エラーはなく、キーによるルックアップは正常に機能します。これは、tmpDoc の割り当てが成功したことで証明されています。
Function test(preferencesDoc As NotesDocument)
If preferencesDoc Is Nothing then
Set preferencesDoc=docLookupView.getDocumentByKey("GENERAL_PREFERENCES", True)
End if
Dim tmpDoc As NotesDocument
Set tmpDoc=docLookupView.getDocumentByKey("GENERAL_PREFERENCES", True)
End Function
誰かがここで何が起こっているのか、どうすればいいのか説明できますか?
説明。
人々がアイデアを出しているのを見るのは素晴らしいことです。ただし、ここでのこの関数は、私の問題を説明するためのものであることを理解する必要があります。これは、問題を伝えるのに役立つ必要最小限の方法であり、実際のコードの一部ではありません。質問を続けてください。
繰り返しになりますが、preferenceDoc が何も渡されない場合、関数内でのその "修正" 割り当ては完全に無視されます。トデは何かに夢中になっているようです。設定されたpreferenceDocを渡すと、それを別のドキュメントに再割り当てできます。
答え
call test(Nothing) // will not work
---
Dim doc as NotesDocument
call test(doc) // will work
Tode のキーステートメント: パラメータとして "Nothing" を渡すと、何もないままになります。初期化されていない NotesDocument を渡すと、初期化されます。
Tode と Knut の両方が的を得ており、Rich は同じことをほのめかしていると思います。ありがとう。クヌートが最初だったと思うので、彼の功績を称えます。
何年もノーツでコーディングしてきましたが、この問題に遭遇したのはこれが初めてです。毎日何かを学んでいます。:)