Развернуть проект без Midas.dll C++

Я пытаюсь сделать так, чтобы я мог развернуть проект 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?

1 ответ

Решение

Вы также должны связать статическую библиотеку и вызвать 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);
}

Более подробная информация здесь.

Другие вопросы по тегам