проблемы с библиотекой

Тема в разделе "Lotus - Программирование", создана пользователем medin84, 28 апр 2008.

  1. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    собственно библиотеку пишу первый раз
    не понимаю в чем проблема
    при первом нажатии на кнопку не отвечает
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    А что под кнопкой?
     
  3. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Actions под кнопкой
    Use "CSUIViewClass"

    Sub Click(Source As Button)
    Call ProcessViewCommand(ERRAND_SEND)
    End Sub

    и далее по событию
     
  4. Archi2001

    Archi2001 Гость

    CSUIViewClass библиотека класса? - то перед использованием методов класса неплохо бы объект создать ;) (в смысле если rocessViewCommand это метод какого-либо класса)
    а вообще тогда еще и не плохо листинг библиотеки, не всей, хотяб небольшую часть ...
     
  5. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    нет это не класс
    класс идет потом
    Код (Text):
    Use "CSEventNotes" 'библиотека класса ErrandObj здесь

    Sub ProcessViewCommand(LAction As Long)
    Dim collection As NotesDocumentCollection
    Dim note As NotesDocument
    Dim session As New notessession

    Dim csErrandObj As New ErrandObj

    Dim vContinue As Integer
    vContinue=False

    Set collection = session.currentdatabase.unprocesseddocuments

    If(LAction<>ERRAND_CREATE) Then
    If (collection.count = 0) Then
    Exit Sub
    Else
    Set note = collection.getfirstdocument()
    End If
    End If

    If CanProcessCommand(LAction, note) Then vContinue=True

    If ( vContinue ) Then
    Select Case LAction
    Case ERRAND_CREATE
    Call csErrandObj.create

    Case ERRAND_SEND
    Call csErrandObj.send( note )

    Case ERRAND_DECLINE
    Call csErrandObj.decline( note )

    Case ERRAND_CHANGE_EXECUTOR
    Call csErrandObj.change_executor( note )

    Case ERRAND_CHANGE_TODATE
    Call csErrandObj.change_todate( note )

    Case Else
    Goto done
    End Select
    End If

    If Not(vContinue) Then Goto Done

    note.save True,False
    Done:
    If(Not(csErrandObj Is Nothing)) Then Delete csErrandObj
    Dim ws As New NotesUIWorkspace
    Call ws.ViewRefresh
    End Sub
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Дебаггер?
     
  7. K-Fire

    K-Fire Гость

    Стандартная лотусовая бага, когда используете метод session.currentdatabase.unprocesseddocuments, если документ во вьюшке не выделен галочкой - то коллекция будет пустая.
    Добавьте после строчки
    Set collection = session.currentdatabase.unprocesseddocuments
    проверку: если collection.count = 0 тогда получаете объект NotesUIView и используете свойство CaretNoteID. Из него потом достать NotesDocument нет никаких проблем.

    А вообще по хорошему эту функцию надо нормально переписывать чтобы не было всяких Goto, и она умела обрабатывать не только 1 документ, а все выделенные (если пользователь выделит больше одного)
     
  8. Archi2001

    Archi2001 Гость

    ... на счёт листинга погорячился - но пригодится ;)
    а дебагер чего говорит? он начинает выполнять ProcessViewCommand?
     
  9. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    хотя если подключать библиотеку с вьюшки то все нормально
    но все равно не понятно почему с кнопки работает со второго нажатия

    в дебаггере видно что все проходит строчка в строчку
     
  10. K-Fire

    K-Fire Гость

    см http://codeby.net/forum/threads/23121.html?vi...st&p=106941 ;)
     
  11. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Если дебаггер нормально проходит, то какой результат должен быть?
    Сохранение документа?
     
  12. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    здесь что-то непонятное сейчас работает. ;)
    после всей обработки да сохранение
     
  13. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Сохранение происходит и ошибка не выдается?
    Значит смотрим библиотеку CSEventNotes.
     
  14. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    да сохраняется и ни каких еррор
    да с библиотекой вроде все норма
    ну вроде вопрос отпадает сейчас работает нормально ;)
    у меня вопрос может не в тему но не большой
    откуда лучше подключать библиотеку с вью или с кнопки
     
  15. Archi2001

    Archi2001 Гость

    меняется только ее "область видимости" ... соотв, если кроме "кнопки" она нигде не используется - смысла "подключать" во вью нет ...
     
  16. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Спасибо всем за помощь и замечания!
    ;) будем исправляться!
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Правда твоя, но есть добавление.
    При подключении к объекту (view, form) initialize библиотеки будет выполняться в любом случае, а при подключении на кнопку, только при нажатии. И только 1 раз.
     
  18. Sandr

    Sandr Гость

    Я тоже с такой багой сталкивался... в клиенте 6.5.3... в других клиентах бага отсутвовала...:)
     
Загрузка...
Похожие Темы - проблемы библиотекой
  1. aliaksandr89
    Ответов:
    3
    Просмотров:
    129
  2. Amfion
    Ответов:
    5
    Просмотров:
    124
  3. wowa
    Ответов:
    7
    Просмотров:
    381
  4. John_Tavarez
    Ответов:
    0
    Просмотров:
    339
  5. Валентин Амбер
    Ответов:
    11
    Просмотров:
    347

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