C ++, как динамически загрузить сторонний DLL-файл - PullRequest
2 голосов
/ 15 декабря 2011

Мне нужно интегрировать сторонний DLL-файл с моим приложением, у меня есть только .DLL и .pdf документация по DLL.

Это pdf dll: http://www.whiteboxrobotics.com/Support/pdf/PC-BOT_dotNet_v1.0_documentation.pdf

Я могу загрузить DLL в Visual Studio, просто перетащив ее в панель инструментов, НО, я хотел бы знать, как это делается в коде.

Поскольку у меня есть только DLL, я полагаю, что единственная опция - это динамическая загрузка с использованием LoadLibrary () и GetProcAddress ().

Но, похоже, это очень хлопотно, и я не могу понять, как мне загрузить любую из функций, которые получают некоторые пользовательские (перечисляемые) параметры, например, в .pdf функция SendMessage (...), которая принимает PCBOTEventArgs.messageType в качестве одного из параметров.

Тем не менее, загрузка DLL через представление конструктора настолько проста и извлекает всю DLL.

Почему это?

Есть ли что-то еще, кроме использования указателей на функции и GetProcAddress ()?

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

A dotNET = (Mircosoft) .NET Framework - это не то же самое, что "обычная" dll, вы не можете использовать GetProcAddress и LoadLibrary с dll .NET

.Net Dll - это обычно упакованные классы, перетаскивая dll в ваше рабочее пространство, вы просто импортируете область dll, смотрите сами в браузере объектов

для загрузки .net dll (сборки) во время выполнения, например, для плагина, смотрите здесь http://support.microsoft.com/kb/837908

0 голосов
/ 15 декабря 2011

Сторонняя интеграция осуществляется с помощью подключения того, что вы хотите подключить, например, если вы хотите добавить службу на свой веб-сайт. Для установки этой конкретной библиотеки DLL на свой веб-сайт, прежде всего прочитайте необходимую документацию и необходимые подключения, а затем скопируйте и вставьте DLL-файлы для ваших проектов. Вы можете прояснить, когда вы можете указать сервисы, которые хотите выбрать как стороннюю интеграцию

...