Os/400 Api, нужна помощь...

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

  1. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Как правило, всё тоже, что и для Win32.


    Что-то вроде:

    Код (Text):
    Public Type TIMEDATE
    Innards(1) As Long
    End Type

    const NOTE_MODIFIED& = 4

    Declare Public Sub OS400_NSFNoteGetInfo_Modified Lib "inotes" Alias "NSFNoteGetInfo" ( Byval hNote As Long, Byval note_member As Integer, ModifiedInThisFile As TIMEDATE)
    Пригодится:
    Код (Text):
    Declare Sub OS400_ConvertTIMEDATEToText Lib "inotes" Alias "ConvertTIMEDATEToText" (Byval IntlFormat As Long,Byval TextFormat As Long, actTIMEDATE As TIMEDATE, Byval retTextBuffer As String,Byval TextBufferLength As Integer,retTextLength As Integer)

    Const MAXALPHATIMEDATE = 80

    Function ConvertTIMEtoText(dt As TIMEDATE) As String

    Dim spTime As String * MAXALPHATIMEDATE
    Dim retLength As Integer

    spTime = Space(MAXALPHATIMEDATE)
    Call W32_ConvertTIMEDATEToText (&h0,&h0, dt, spTime,MAXALPHATIMEDATE,retLength)
    ConvertTIMEtoText = Left$(spTime,retLength)
    End Function
    Звать так:

    Код (Text):
    dim dt as TIMEDATE
    Call OS400_NSFNoteGetInfo_Modified(doc.Handle, NOTE_MODIFIED, dt)
    msgbox ConvertTIMEtoText(dt)
     
  3. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Private Type timeDateTYPE
    innards(1) As Long
    End Type

    Declare Public Sub OS400_NSFNoteGetInfo_Added Lib "inotes" Alias "NSFNoteGetInfo" ( Byval hNote As Long, Byval note_member As Integer, AddedInThisFile As timeDateTYPE)

    hNote& = doc.HANDLE
    Dim tdStruct As timeDateTYPE

    Сваливается вот на этом: Call OS400_NSFNoteGetInfo_Added(hNote&, 13, tdStruct)

    error message: Error in loading DLL
     
  4. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Обращение к внешним функциям dll является unrestricted операцией. Соответственно, агенту и его подписанту надо дать права. Делается это в св-вах агента и в документе на сервер.
     
  5. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    На сервере, где W32 работает, а вот на OS400 ни как(

    *Делается это в св-вах агента и в документе на сервер.* В агенте права были, а что за *в документе на сервер*?
     

    Вложения:

    • 10.03.jpg
      10.03.jpg
      Размер файла:
      30,4 КБ
      Просмотров:
      40
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    В серверной адресной книге для каждого сервера домена есть документ. В нём на закладке Security есть раздел в котором указывается кто может запускать анрестриктед агенты, а кто рестриктед. Подписант агента должен быть во втором поле.
     
  8. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    нашел название библиотеки "/qsys.lib/qnotes.lib/libnotes.svrpgm". спасибо lmike*у.
    но не работает, более того за вечер уже 4 раз повесил сервер этим агентом(
    пробовал запускать на 2 серверах, агент даже не отрабатывае до конца. идет поиск Added по одном удокументу)

    всем спасибо за советы.
     
Загрузка...

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