Coder969 Ответов: 1

Ошибка Loadtypelib в vs2015


Мы переводим наши проекты с vs2005 на vs2015. Мы смогли очистить ошибку сборки, но теперь мы получаем ошибку времени выполнения при вызове функции LoadTypeLib

Ошибка "Ошибка при загрузке библиотеки"

Ниже приведен код
HRESULT LoadTypeInfoFromThisModule(REFIID riid, ITypeInfo **ppti) 
{
	*ppti = 0;
    char szFileName[MAX_PATH];

    GetModuleFileNameA((HMODULE)moduleHandle, szFileName, MAX_PATH);

    OLECHAR wszFileName[MAX_PATH];

    mbstowcs(wszFileName, szFileName, MAX_PATH);

    ITypeLib *ptl = 0;

    HRESULT hr = LoadTypeLib(wszFileName, &ptl);

    if (SUCCEEDED(hr)) 
	{
        hr = ptl->GetTypeInfoOfGuid(riid, ppti);
        ptl->Release();
    }

    return hr;
}

Могу ли я узнать, почему будет выброшена эта ошибка? Тот же код отлично работает в vs2005

Что я уже пробовал:

Если я использую dll vs2005 с проектом in VS2015, то он может загружаться

Dave Kreskowiak

Или различная архитектура между процессом и самим собой .Загружается библиотека DLL. Вы не можете загрузить 32-битную версию .DLL в 64-битный процесс или наоборот.

1 Ответов

Рейтинг:
2

KarstenK

Эти сообщения об ошибках устарели, но они верны. Может быть, библиотека dll находится в другом каталоге или какая-то строка изменяется с ASCII на UNICODE.