Попытка использовать библиотеку типов, но я получаю ошибку File Not Found

0

У меня есть библиотека типов, которая была создана в Visual C++, и я пытаюсь вызвать ее функции в VBA. У меня есть два файла: utility.dll и utility.tlb. Я включил ссылку на библиотеку в моем проекте VBA, перейдя в "Ссылки" и просмотрев utility.tlb. Но когда я скомпилирую проект, я получаю сообщение об ошибке:

File not found: utility.dll

Я поместил оба файла библиотеки в тот же каталог, что и файл.xlsm с проектом VBA. Я подумал, возможно, это была проблема с регистрацией DLL, поэтому я попытался запустить regsvr32 на utility.dll и получил следующее сообщение об ошибке:

The module "utility.dll" may not compatible with the version of Windows 
that you're running.  Check if the module is compatible with an x86 (32-bit) 
or x64 (64-bit) version of regsvr32.exe.

У меня есть доступ к исходному коду, файлам.sln и т.д. Для проекта C++, который создал файлы библиотеки.

Что мне делать, чтобы мой проект VBA мог использовать библиотеку этого типа?

  • 0
    Вместо этого используйте c: \ windows \ syswow64 \ regsvr32.exe.
  • 0
    @HansPassant, который дал мне тот же ответ о, may not compatible [sic].
Показать ещё 1 комментарий
Теги:
dll
visual-c++

1 ответ

0

Проблема заключалась в том, что библиотека типов имела путь поиска DLL, закодированный в папку, которая существовала только на машине разработки. Изменение этого устранило ошибку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню