外部函数调用多个相关DLL

时间:2013-04-05 14:45:44

标签: windows dll inno-setup

我想从具有许多依赖DLL的DLL中调用几个API。我将所有DLL添加到安装程序包并定义了原型:

function myapi_Init(): Integer;
external 'myapi_init@A.dll stdcall setuponly loadwithalteredsearchpath delayload';

我在ExtractTemporaryFiles('*.dll')中使用InitializeSetup()提取所有DLL,然后尝试调用相应的API。我收到运行时错误,无法导入dll ......

我重新定义了原型如下并删除了提取DLL的调用:

function myapi_Init(): Integer;
external 'myapi_init@files:A.dll,B.dll,C.dll,D.dll,E.dll stdcall setuponly loadwithalteredsearchpath delayload';

这很好用。我检查了两种情况,所有适当的DLL都被提取出来并放在同一个地方。我更喜欢第一种情况,因为它避免拼写出每个API的所有DLL名称。在第一种导致失败的情况下我做错了什么?

0 个答案:

没有答案