Объявление

Свернуть
Пока нет объявлений.

и снова CPSNXML.dll

Свернуть
X
  • Фильтр
  • Время
  • Показать
  • Сортировать
  • Упорядочить по
Очистить всё
новые сообщения

  • и снова CPSNXML.dll

    По пытался использовать вашу библтотеку и наткнулся на ошибку (исходник на билделе);
    HINSTANCE LibHandle;
    typedef HRESULT (__import * BType(HWND hParent, LPCTSTR lpszBaseDir));
    BType* ProcAdd=NULL;
    typedef HRESULT (__import *CType());
    CType* ProcAdd1=NULL;
    typedef HRESULT (__import * DType(LPCTSTR lpszXmlFn, UINT *pnError, UINT *pnWarning));
    DType* ProcAdd2=NULL;
    typedef int (__import *EType (LPCTSTR lpszXmlFileName,LPCTSTR lpszLogFileName,int nLogFileNameLen,BOOL bFullPath ));
    EType* ProcAdd3=NULL;

    //--загружаем dll и получаем указатели на функции
    LibHandle = LoadLibrary("C:\\Program Files\\CheckXML\\CPSNXML.dll");
    if (LibHandle)
    {
    ProcAdd = (BType*) GetProcAddress(LibHandle, "cpsnInitLib");
    ProcAdd1= (CType*) GetProcAddress(LibHandle, "cpsnFreeLib");
    ProcAdd2= (DType*) GetProcAddress(LibHandle, "cpsnValidate");
    ProcAdd3= (EType*) GetProcAddress(LibHandle, "cpsnGetLogFileName");
    ShowMessage("LOad");
    }
    else ShowMessage("UPLoad");
    //-----инициализации библиотеки
    if (ProcAdd)
    {
    ShowMessage("Загруз");
    ProcAdd(Form1->Canvas->Handle,"C:\\Program Files\\CheckXML");
    }
    else ShowMessage("Не загруз");
    //-------проверка файла----
    if (ProcAdd2)
    {
    ShowMessage("Загруз");
    unsigned int *i=0;
    unsigned int *g=0;
    LPCTSTR q="D:\\2\\1\\PFR-700-Y-2006-ORG-034-017-000002-DCK-11047-DPT-000000-DCK-00000.XML";
    ProcAdd2(q,i,g);
    }
    else ShowMessage("Не загруз");
    }
    на FormDestroy
    if (ProcAdd1)
    {
    ProcAdd1();
    }
    while(FreeLibrary(LibHandle));
    }
    так вроде все работает но при "проверка файла" как только доходит до конца вываливает Acces violation at addres 100386a4 in module "CPSNXML". Write of address 00000000. При этом в папке LOG файл журнала появляется.
    Не подскажите?
    И нет ли описание вот этих функции?
    cpsnChkPFRFileName
    cpsnFreeLib
    cpsnGetVerValue
    cpsnMakeXSLT
    cpsnSetDebugParam
    За ранее благодарен.

  • #2
    Ответ: и снова CPSNXML.dll

    Всем спасибо с ошибкой разобрался вот только не могу понять как программно определяется Количество документов в пачке (всего)

    Комментарий

    реклама

    Свернуть
    Обработка...
    X