delphi – Inno安装程序无法导入DLL
发布时间:2020-12-15 09:07:39 所属栏目:大数据 来源:网络整理
导读:我没有运气将Delphi DLL导入Inno Setup(Unicode). DLL有一个简单的过程.. procedure Foo(); stdcall;beginend;exports Foo; DLL包含在安装程序源中,并添加到文件列表中: [Files]Source: "MyDLL.dll"; Flags: dontcopy 然后,我在初始化中提取这个DLL: funct
我没有运气将Delphi DLL导入Inno Setup(Unicode). DLL有一个简单的过程..
procedure Foo(); stdcall; begin end; exports Foo; DLL包含在安装程序源中,并添加到文件列表中: [Files] Source: "MyDLL.dll"; Flags: dontcopy 然后,我在初始化中提取这个DLL: function InitializeSetup(): Boolean; begin ExtractTemporaryFile('MyDLL.dll'); end; 最后,在脚本中声明了这个过程: function DoFoo(): Bool; external 'Foo@MyDLL.dll stdcall'; 但是,当我运行安装程序时,出现错误: Cannot Import dll: <utf8>MyDLL.dll. 我究竟做错了什么? 解决方法
由于您没有在函数导入中使用延迟加载,因此Inno Setup加载程序无法运行,因为它找不到您的库.这是因为检查函数导出是否可用是在触发InitializeSetup事件之前执行的,因此您的库尚未从存档中提取.
在您的情况下,正确添加
您的案例中的整个导入可以缩短为: [Files] Source: "MyDLL.dll"; Flags: dontcopy [Code] procedure Foo; external 'Foo@files:MyDLL.dll stdcall'; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |