Ошибка при вызове функции библиотеки

Тема в разделе "MS Visual C++", создана пользователем rudeman, 26 ноя 2007.

  1. rudeman

    rudeman Гость

    Добрый день! Подскажите пожалуйста, почему возникает ошибка..

    Код следующий...

    Код (Text):
    typedef int ( *PFN_MyFunction)(char *, int *, char * ,int *,char *, int *);

    HINSTANCE hCreateCred;
    if((hCreateCred=LoadLibrary("CreateCred.dll"))==NU LL) return 1;
    ::PFN_MyFunction pfnMyFunction;
    pfnMyFunction=(PFN_MyFunction)::GetProcAddress(hCr eateCred,"InitCred");
    int iCode=(*pfnMyFunction)("I00001", &id_len, "InitCred()", 0, "INFINITE",0);
    ::FreeLibrary(hCreateCred);
    И при попытке получить адрес функции идет - скидывает его на 0 и далее выдает access violation...
    Def файла для библиотеки загружаемой нету...
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Возможно функции из этой длл не расчитаны на такое использование - посмотри чем нибудь экспорт-секцию (я обычно depends.exe использую) - может там С-обрамление имен не отключено.
     
  3. rudeman

    rudeman Гость

    Да... обрамление и было ) Спасиб))
    Терь трабла другая... вызов функции библиотеки происходит нормально, но окончивается "криво"
    При дебаге вызов идет вроде нормально, функция запускается нужная с нужными параметрами
    Код (Text):
    int iCode=(*pfnMyFunction)("I00001", &id_len, "InitCred()", 0, "INFINITE",0);
    но не доходя до
    Код (Text):
    ::FreeLibrary(hCreateCred);
    сразу выбивает
    и
    не подскажете изза чего? Оо
     
Загрузка...

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