易语言设置Dll文件的目录,将dll放在子目录

需求

易语言的dll默认是从运行目录加载的。
如果dll过多,加上一堆核心库和扩展库,运行目录就非常的杂乱。
有没有办法,把dll放在其他目录呢?

解决

通常有两种办法,一种是内存加载dll,另一种是将dll放在子目录。

温馨提示:此处内容需要后才能查看!

易语言的核心支持库里,有一个命令:

置DLL装载目录 ()

来看该命令的详细说明:

调用格式: 〈文本型〉 置DLL装载目录 ([文本型 DLL装载目录]) - 系统核心支持库->其他
    英文名称:SetDllCmdLoadPath
    本命令用来设置当程序中执行到DLL命令时装载其DLL库文件的优先装载路径,即系统将优先到该路径下去装载指定的DLL文件。本命令所设置结果对所有DLL命令设置中的未指定全路径的DLL库文件装载均有影响,且在程序运行期间全程有效。命令执行后返回系统在本次设置以前的值。本命令为高级命令。
    参数<1>的名称为“DLL装载目录”,类型为“文本型(text)”,可以被省略。本参数指定系统对DLL命令配置中DLL库文件的优先装载路径,如果被省略,则默认值为空文本。

    操作系统需求: Windows

使用此命令可以指定dll的默认加载目录。
例如,要将dll都存放在运行目录下的“Plugin”目录下。
可以将“Plugin”设置为一个常量。
然后在程序开始的位置,进行dll目录设置:

置DLL装载目录 (取运行目录 () + “\” + #目录名_插件) 

假设需要使用“cvyjkmk.dll”进行opencv找图。
将dll文件放在“Plugin”目录下,然后申明dll接口:

.版本 2

.DLL命令 高级模糊找多目标_, 整数型, "cvyjkmk.dll", "@AdvancedFuzzyMapping", , 成功返回结果数据长度。
    .参数 大图, 文本型
    .参数 小图, 文本型
    .参数 最小信度, 小数型
    .参数 寻找次数, 整数型
    .参数 返回结果数据, 文本型

在win11专业版的虚拟机里进行测试,调用找图方法的时候,出现dll里接口不存在的报错。
怎么办呢?

经过论坛搜索和实测,更换为一个dll命令,就可以正常加载指定目录的dll了。

.版本 2

.DLL命令 _置DLL装载目录, , "Kernel32.dll", "SetDllDirectoryA", , 
    .参数 目录路径, 文本型

在程序入口处设置dll加载目录

_置DLL装载目录 (取运行目录 () + “\” + #目录名_插件)

dll命令表的库文件名,不需要设置路径。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
EasyClick学习交流①群:737066890
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 易语言设置Dll文件的目录,将dll放在子目录

企业级大数据智能营销管理系统

了解详情