在没有 Midas.dll C++ 的情况下部署项目
Deploy project without Midas.dll C++
我正在努力做到这一点,这样我就可以将使用 Midas.dll 的 firemonkey 项目部署到另一台机器上,而不必也复制 DLL。 This article 通过在您的 uses 子句中包含 MidasLib 来解释如何使用 delphi 项目执行此操作,如下所示:
program Project1;
uses
MidasLib,
Forms,
Unit1 in 'Unit1.pas' {Form1};
我不太熟悉 delphi,但我假设在 C++ 中我想使用 #include
语句代替 uses
语句。由于 MidasLib 是一个 .pas 文件,我假设我应该包含 Midas.hpp
。但是,即使我在使用它的文件中包含 Midas.hpp
,我仍然会收到一个异常 "Midas.dll not found."
如何部署我的项目而不必复制 Midas.dll 文件?
您还应该 link 静态库并调用 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);
}
更多详细信息here。
我正在努力做到这一点,这样我就可以将使用 Midas.dll 的 firemonkey 项目部署到另一台机器上,而不必也复制 DLL。 This article 通过在您的 uses 子句中包含 MidasLib 来解释如何使用 delphi 项目执行此操作,如下所示:
program Project1;
uses
MidasLib,
Forms,
Unit1 in 'Unit1.pas' {Form1};
我不太熟悉 delphi,但我假设在 C++ 中我想使用 #include
语句代替 uses
语句。由于 MidasLib 是一个 .pas 文件,我假设我应该包含 Midas.hpp
。但是,即使我在使用它的文件中包含 Midas.hpp
,我仍然会收到一个异常 "Midas.dll not found."
如何部署我的项目而不必复制 Midas.dll 文件?
您还应该 link 静态库并调用 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);
}
更多详细信息here。