Как Show Notes API ошибках
Когда вы делаете, как много работы с API Notes, как и мы, вы в конечном итоге работает на ошибки в тот или иной момент. При написании программы на С или C + +, вы можете перевести номер ошибки в строку довольно легко. Но мы делаем все больше и больше с API в LotusScriptand есть еще много примеров). В этой ситуации мы должны быть в состоянии перевести номер ошибки в тексте сообщения об ошибке.
Большинство портативных способ сделать все это через скрипт библиотека, содержащая пользовательского класса. Это библиотеки сценариев может быть унаследован к любой базе данных вам нужно, и мы покажем, как сделать класс вызовов для получения строки ошибки.
Создать скрипт библиотеки под названием "Notes API Error". Весь код переходит в (деклараций) площадь библиотеки сценариев:
Declare Function W32_OSLoadString Lib "nnotes.dll" Alias "OSLoadString" (ByVal ручкой As Integer, _
ByVal errNum As Integer, ByVal буфер Как Lmbcs String, ByVal textLen As Integer) As Integer
Const ERR_MASK = & H3FFF
Класс NotesAPIError
Частные errNum As Integer
Public Sub New (errorNum As Integer)
Me.errNum = errorNum
End Sub
Общественное сообщение Функция As String
Dim температура As Integer
Dim результате As String
температура = Me.errNum И ERR_MASK
Результат = Строка $ (255, 0)
температура = W32_OSLoadString (0, температура, результат, Len (результат))
Результат Message =
End Function
End Class
Если вы не знакомы с использованием Notes API в LotusScript, то это хорошее введение. Вы должны объявить внешнюю функцию API вызова (обратитесь к документации, которая поставляется с Notes API для имен функций и типов параметров). В большинстве случаев вы передаете переменные по значению (ByVal ключевое слово), а не по ссылке, как это делается в "нормальных" LotusScript. Строки зачастую необходимо Lmbcs ключевое слово, чтобы определить набор символов.
Пользовательский класс будет иметь новые подпрограмма вызывается, когда новый экземпляр объекта создается. В этом случае, мы хотим новый экземпляр класса для передачи в номер ошибки. Мы устанавливаем закрытую переменную "errNum" в переданный в цене. Поскольку переменная является частным, он может быть использован только в пределах класса. Другими словами, если ваш агент создает новую переменную NotesAPIError, вы не сможете получить доступ. ErrNum имущества от объекта. У нас есть привычка использовать дополнительный меня ключевое слово, чтобы показать, что мы говорим о классе объекта, а не локальной переменной.
Когда будете готовы, функции (объект собственности) сообщение будет вызван. Эта функция настраивается номер ошибки, что-то, что внешние функции С может использовать, а затем устанавливает возвращение области 255 символами 0 (в нулевые символы). Это еще одна вещь, чтобы быть в курсе когда речь идет о внешних вызовов С в LotusScript (любой вызов C; не только для Notes API). Если вы собираетесь возвращаться строку, вы должны установить размер строки через метод следующим образом. LotusScript динамически изменяет размер строки и хватает памяти для вас, но C не работает таким образом.
После размер возвращаемой строки была создана, то вызов внешней функции C сделан. Вы должны обратиться к документации API для деталей, но эта функция принимает регулировать количество ошибок и заполняет строку с текстовой версией номер ошибки.
Как только строка ошибки была заселена, которые могут быть возвращены в собственность / значением функции.
Чтобы проверить агента, создать новый агент. В (Options) части агент, включают библиотеки сценариев: Используйте "Notes API Error". Остальная часть кода переходит в Инициализировать раздел:
Sub Initialize
Dim errorNum As String
Dim classVar Как NotesAPIError
Dim результате As String
errorNum = InputBox ("Введите Ошибка Notes API номер", "Введите номер", "")
Если errorNum = "" Then Exit Sub
Установить classVar = Новые NotesAPIError (Val (errorNum))
Результат = "сообщение об ошибке на номер ошибки" & & errorNum "звучит так:" & Chr $ (10) и classVar.Message
Msgbox результате, 64, "Результат"
End Sub
Вам предлагается ввести номер ошибки. В случае отмены или не вводить что-нибудь, код завершает свою работу. В противном случае, он устанавливает новый объект класса, передавая значение числа текст ошибки. Затем результат строке создается с помощью сообщений свойство класса объекта.
Чтобы испытать это, используйте номер ошибки 18865. Эта ошибка происходит, когда неавторизованный пользователь пытается выполнить удаленную команду консоли. Эта ошибка число будет проверить код библиотеки сценариев. Номер ошибки 0 означает, что ошибка, и ошибка номер один дает вам строки Release Notes. Есть так много номеров ошибку, этот код очень удобно при работе с Notes API в LotusScript.
Просмотрено 4251 раз 1091 зрителей













