А что там было по изменению Icon Note при Nsfdbinfomodify

Тема в разделе "Lotus - Программирование", создана пользователем Omh, 22 мар 2010.

  1. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Я тут персамтривал код, и заметил, что про апдейте пропертей базы на API я не обновляю ICON NOTE (код закомметирован).
    Помню тут было хорошее обсуждение этого дела, но я, не нашёл, то ли благодаря поиску, то ли благодаря кривизне рук.

    У меня примерно такой код:
    <!--shcode--><pre><code class='vb'>Function cNSFDbInfoModify(Parse As Integer, NewValue As String) As Integer
    If Me.handle = 0 Then Exit Function

    If (Parse = INFOPARSE_TITLE) Or _
    (Parse = INFOPARSE_CATEGORIES) Or _
    (Parse = INFOPARSE_CLASS) Or _
    (Parse = INFOPARSE_DESIGN_CLASS) Then
    Dim dbInfoBuffer As String
    dbInfoBuffer = String(NSF_INFO_SIZE, 0)

    Call NSFDbInfoGet(Me.handle, dbInfoBuffer)
    Call NSFDbInfoModify(dbInfoBuffer, Parse, NewValue)
    Call NSFDbInfoSet(Me.handle, dbInfoBuffer)

    cNSFDbInfoModify = NOERROR

    Dim IconDoc As NotesDocument
    If GetDocByNoteID(Me.Db, IconDoc, NOTEID_ICON) Then
    Dim dbInfoBuffer2 As String
    dbInfoBuffer2 = toLMBCS(dbInfoBuffer)
    Dim IconNoteHandle As Long
    IconNoteHandle = IconDoc.Handle
    Call NSFItemSetText(IconNoteHandle, "$TITLE", dbInfoBuffer, Len(dbInfoBuffer2))
    Call NSFNoteUpdate(IconNoteHandle, 0)
    End If
    End If
    End Function[/CODE]

    У меня вопрос по кусочку, который апдейтит ICON NOTE.
    Там всё правильно? Что-то мне так не кажется.
     
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    ICON NOTE надо обязательно менять.

    Да вроде нормально, если параметр у NSFItemSetText задекларен как LMBCS.

    Declare Public Function NSFItemSetText Lib "nnotes.dll" Alias "NSFItemSetText" (Byval hNote As Long,Byval Item As Lmbcs String, Byval Text As Lmbcs String, Byval TextLen As Long) As Integer

    Ксатати, можно не париться с вычислением длины dbInfoBuffer2, а просто передать последним параметром &hFFFF.

    Вообще, для таких вопросов надо обязательно декларации внешних методов прикладывать, т.к. обычно ошибки в них.
     
Загрузка...

Поделиться этой страницей