Я пытаюсь сделать так, чтобы я мог развернуть проект firemonkey, который использует Midas.dll на другой машине, без необходимости копировать DLL. Эта статья объясняет, как сделать это с проектом delphi, включив MidasLib в ваше предложение users следующим образом:
program Project1;
uses
MidasLib,
Forms,
Unit1 in 'Unit1.pas' {Form1};
Я не очень знаком с Delphi, но я предполагаю, что в C ++ я хотел бы использовать #include
заявление в местах uses
заявление. Поскольку MidasLib — это файл .pas, я предполагаю, что должен включать Midas.hpp
, Тем не менее, хотя я включаю Midas.hpp
в файле, который использует его, я все еще получаю исключение, говорящее «Midas.dll не найден».
Как я могу развернуть свой проект, не копируя файл Midas.dll?
Вы также должны связать статическую библиотеку и вызвать RegisterMidasLib
функция:
#include <Midas.hpp>
// or use the Project Manager's "Add to Project" option
#pragma comment(lib, "midas.lib")
extern "C" __stdcall DllGetDataSnapClassObject(REFCLSID, REFIID, void **);
void InitMidas()
{
#pragma startup InitMidas 254
RegisterMidasLib(DllGetDataSnapClassObject);
}
Более подробная информация Вот.