Помогите разобраться с ошибкой!

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

  1. AvasKvas

    AvasKvas Well-Known Member

    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    Всем доброго времени суток.
    Помогите разобраться, по какой причине возникает ошибка:
    У одного из клиентов агент выполняющийся по расписанию вываливается с ошибкой под номером 4399 (Value is out of range).
    при чем при запуске этого агента на локалке отрабатывает нормально, при запуске на сервере - ошибка. Сервер винда 2008 64 бита.

    Все что нашел в хелпе, только это: NOTES_ERR_RTPSTYLE_OUTOFRANGE = 4399;
    Таким образом я определил,что ошибка в этой функции:
    Код (LotusScript):
    Function CreateTable(Body As NotesRichTextItem, stroki As Integer, stolbci As Integer,v As Variant)
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim item As NotesItem
    Dim j As Integer, iRow As Single, iColumn As Single


    Set db = s.CurrentDatabase


    'AgentStep="[09] Создаем стиль таблицы"
    'стиль таблицы
    Dim styles() As NotesRichTextParagraphStyle
    For i% = 0 To stolbci-1 Step 1
    ReDim Preserve styles(i%)
    Set styles(i%) = s.CreateRichTextParagraphStyle
    styles(i%).LeftMargin = 0
    styles(i%).FirstLineLeftMargin = 0
    styles(i%).RightMargin = RULER_ONE_INCH*v(i%)
    Next
    '   AgentStep="[10] Создаем таблицу"
    Call body.AppendTable _
    ((stroki+1), stolbci,, RULER_ONE_INCH *0.39, styles)
    Set CreateTable = body
    End Function
    А конкретно при использовании NotesRichTextParagraphStyle. Количество итераций в цикле равно 12 (в других агентах использовал эту функцию и больше быо и ничего, работет).

    Но почему ошибка именно здесь, не понятно!И у себя повторить я не могу! Подскажите, в чем может быть проблема?
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Стоит полностью указывать границы - ReDim Preserve styles(0 to i%)
    И посмотреть не стоит ли Option Base 1.
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Стоит добавлять нормальный обработчик ошибок в процедуры/функции, чтобы можно было легко локализовать не только функцию, но и строку ошибки. Примеров в сети и на форуме достаточно. Ключевые слова в справке дизайнера: On Error, Error, Err, Erl, GetThreadInfo
     
  4. AvasKvas

    AvasKvas Well-Known Member

    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    К сожалению у меня в организации политика обработки ошибок именно такая!
    И я же написал, что выдал обработчик ошибок: 4399 (Value is out of range) И в справке дизайнера рылся и написал что нашел!
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Часто важно знать не только
    Попробуй тут разберись, какое из Value вызывает ошибку.
     
  6. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    обработчика у вас нет. соответственно и политики тоже нет.
    добавьте в начало функции что-то типа
    Код (Text):
    '(c) - если не ошибаюсь, TIA
    On Error Goto ErrH
    If False Then
    ErrH: Error Err, Error$ & Chr(10) & Getthreadinfo(1) & " (" & Erl & ")"
    End If end
    так получите номер строки, в которой ошибка.
    Ставлю банку гинеса, что проблема в
    Код (Text):
    styles(i%).RightMargin = RULER_ONE_INCH*v(i%)
    что лежит в v As Variant, какова размерность?
     
  7. AvasKvas

    AvasKvas Well-Known Member

    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    Согласен! Если получится у клиента поработать, то уточню!
    А так, если по теории, что может быть не так?!
     
  8. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Прислушайтесь к Medevic + проверьте v(i%).
     
  9. AvasKvas

    AvasKvas Well-Known Member

    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    Так и сделаю, но уже не сегодня!До клиента не достучаться!
     
Загрузка...

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