2010年1月19日火曜日

Lotus Script でキャッシュをクリアする

アプリケーションを開発中に Notes や Designer が何かおかしい...と感じるときがあります。

そんなときには迷わず再起動して、ついでにキャッシュもクリアします。

キャッシュは Notes のデータディレクトリに cache.ndk というファイル名で存在します。

こいつは Notes アプリケーションの拡張子である nsf とは違いますが、NotesDatabase クラスでアクセスできます。

中にある文書を片っ端から削除してあげましょう。

Sub Initialize
Dim ws As New NotesUIWorkspace
Dim cache As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument, ndoc As NotesDocument
Dim intNum As Integer

On Error GoTo ERRORTRAP

Set cache = New NotesDatabase("", "cache.ndk")
Set dc = cache.Alldocuments
If dc.Count > 0 Then
Set doc = dc.Getfirstdocument
While Not doc Is Nothing
intNum = intNum + 1
Set ndoc = dc.Getnextdocument(doc)
Call doc.Removepermanently(True)
Set doc = ndoc
Wend
End If
Call cache.Compact
Call ws.Prompt(1, "情報", "キャッシュをクリアしました。再起動してください。")
Exit Sub

ERRORTRAP:
Resume
Call ws.Prompt(1, "エラー", "キャッシュはクリアできませんでした。")
End Sub

文書の削除が済んだら、Lotus Notes を再起動しましょう。

って再起動するくらいなら Cache.ndk をOSレベルで削除すればいいじゃない....orz

キャッシュファイルがなくなっても、Lotus Notes が勝手に作成しますのでご心配なく。

0 件のコメント:

コメントを投稿