2012-10-29 159 views
0

我有一个bot正在定期扫描我的收件箱中的特定电子邮件。每当下面的代码触发时,光标闪烁并在光标位于Lotus Notes UI上时闪烁。 Google为我的搜索返回了大约5个结果,并且他们似乎都没有解决这个问题。这并不妨碍我的程序正常工作,但它在美观上看起来很糟糕。那里的任何人有任何想法?谢谢!Lotus Notes - 光标在扫描收件箱时闪烁/闪烁

*我也将此标记为C#以获得更多目光看着它。我更喜欢vb.net解决方案,但欢迎并欣赏C#。

Dim NS As Object = CreateObject("Notes.NotesSession") 
    Dim NDB As Object = NS.GetDatabase("", "") 
    If NDB.IsOpen = False Then NDB.Openmail() 
    Dim NV As Object = NDB.GetView("($Inbox)") 
    NV.refresh() 
    Dim ND As Object = NV.GetFirstDocument 
    Dim aItems As Array 
    Dim dInfo As Dictionary(Of String, String) 
    Dim EmailCount As Integer = NV.entrycount 
    Dim iCurrent As Integer = 0 
    Dim EmailDate As DateTime 
    Dim Subject As String, Body As String, sFrom As String 
    Do 
     iCurrent += 1 
     aItems = ND.Items 
     dInfo = New Dictionary(Of String, String) 
     For i As Integer = 0 To aItems.Length - 1 
      If Not dInfo.ContainsKey(aItems(i).name) Then 
       dInfo.Add(aItems(i).name, aItems(i).text) 
      End If 
     Next 
     EmailDate = CDate(dInfo("DeliveredDate")) 
     Subject = dInfo("Subject") 
     Body = dInfo("Body") 
     sFrom = dInfo("From") 
     If NV.GetNextDocument(ND) Is Nothing Then Exit Do 
     ND = NV.GetNextDocument(ND) 
    Loop 
+0

我不知道为什么有人投这个过于本地/不会帮助任何人的未来。如果这个问题在过去得到解答,那么现在就会帮助我! – DontFretBrett

+1

我同意。它不应该被拒绝。这两组类之间的这种混淆是相当普遍的,是的,仍然有人在使用和编程Lotus Notes和Domino。 –

回答

1

Notes.NotesSession的类是一个OLE类,这意味着它与Notes UI交互。

你应该使用类的COM版本代替,这是Lotus.NotesSession

+0

我试着将它切换到Lotus.NotesSession并且Lotus Notes UI崩溃了。我会看看如果我能找出它崩溃的地方 – DontFretBrett

+0

好吧,它坠毁在这条线上:Dim NDB As Object = NS.GetDatabase(“”,“”)。我会尝试提供服务器和NSF邮件文件。 *编辑:没有运气。有任何想法吗? – DontFretBrett

+0

使用COM类,您需要调用NotesSession.Initialize()。请参阅此处:http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=%2Fcom.ibm.designer.domino.main.doc%2FH_NOTESSESSION_CLASS.html –