递归火山软件开发平台

标题: 把dll放到文件资源里,运行时释放,怎么才能提前释放不报错 [打印本页]

作者: 江渝潇潇    时间: 2021-5-12 09:53
标题: 把dll放到文件资源里,运行时释放,怎么才能提前释放不报错
本帖最后由 江渝潇潇 于 2021-5-12 10:25 编辑

附件-001 初识炫彩窗口.zip:https://wwx.lanzoui.com/i3HcLp1q5uh

把dll放到视窗文件资源里,运行时释放dll。
(, 下载次数: 101)

还没释放出dll就已经报错了,怎么写代码才能提前释放dll

(, 下载次数: 97)


作者: b0y    时间: 2021-5-12 10:03
取运行目录()  后面有 \吗?
作者: snowhoo    时间: 2021-5-12 10:05
你资源路径下根本没有这个DLL
作者: 江渝潇潇    时间: 2021-5-12 10:14
b0y 发表于 2021-5-12 10:03
取运行目录()  后面有 \吗?

火山pc的取运行目录()后面自带斜杠。
代码是没问题的,在易语言里肯定是可以释放的,只不过在火山pc可能需要特殊的写法
作者: 江渝潇潇    时间: 2021-5-12 10:16
snowhoo 发表于 2021-5-12 10:05
你资源路径下根本没有这个DLL

dll肯定实在的,它这个检查机制在我释放dll的代码之前就在检查dll是否存在了
作者: snowhoo    时间: 2021-5-12 10:27
你自己看。你资源定义时的路径就是当前运行的目录,但当前运行目录下根本没有这个DLL

作者: 江渝潇潇    时间: 2021-5-12 10:34
snowhoo 发表于 2021-5-12 10:27
你自己看。你资源定义时的路径就是当前运行的目录,但当前运行目录下根本没有这个DLL
...

这个我截图的问题,资源那个路径是debug目录,第二张截图那个是在release目录。
作者: snowhoo    时间: 2021-5-12 10:43
本帖最后由 snowhoo 于 2021-5-12 10:44 编辑
江渝潇潇 发表于 2021-5-12 10:34
这个我截图的问题,资源那个路径是debug目录,第二张截图那个是在release目录。 ...

代码没有问题,把如果真判断去掉试试
作者: 呵呵仙8    时间: 2021-5-12 12:45
你这是写32位软件?还是64位的?如64位返回整数窗口句柄合理吗?
作者: 江渝潇潇    时间: 2021-5-12 13:08
呵呵仙8 发表于 2021-5-12 12:45
你这是写32位软件?还是64位的?如64位返回整数窗口句柄合理吗?

默认就是整数,你改了就报错了
作者: 呵呵仙8    时间: 2021-5-12 14:02
江渝潇潇 发表于 2021-5-12 13:08
默认就是整数,你改了就报错了

我是说你的DLL是不是就只能写32位的软件!!是的话,EXE就只能编译32位的EXE。不能用于64位
作者: 江渝潇潇    时间: 2021-5-12 14:50
呵呵仙8 发表于 2021-5-12 14:02
我是说你的DLL是不是就只能写32位的软件!!是的话,EXE就只能编译32位的EXE。不能用于64位 ...

炫彩的界面库32,64都支持。
火山pc我dll放文件资源里,然后运行时释放dll就没成功过,大漠、乐玩、exdui我都用过,没解决都不了了之了,这次是借这个机会把这个问题发出来。
作者: 小火伴    时间: 2021-5-12 14:57
写出后延迟一点时间看看呢,写出去后再判断下文件是否存在呢
作者: 江渝潇潇    时间: 2021-5-12 15:00
呵呵仙8 发表于 2021-5-12 14:02
我是说你的DLL是不是就只能写32位的软件!!是的话,EXE就只能编译32位的EXE。不能用于64位 ...

他这个问题就是在我释放dll的代码之前就已经在检查目录里有没有dll了,现在就是寻求一个办法在他检查之前就释放出来,或者不让他检查,真正开始调用dll命令了再检查。

我觉得这应该要在模块封装层解决,我**c++调用dll函数的方式,它说了两种:隐式链接和显式链接。我觉得应该得用显式连接来解决。
https://www.cnblogs.com/zhengfa-af/p/8110927.html
作者: 江渝潇潇    时间: 2021-5-12 15:02
小火伴 发表于 2021-5-12 14:57
写出后延迟一点时间看看呢,写出去后再判断下文件是否存在呢

程序刚运行第一时间就已经在检查了,还在我写出dll之前
作者: 朕的    时间: 2021-5-13 03:38
按理来说不应该,dll函数还没调用,就检查了,应该是火山的逻辑问题。你问问版主或吴总,怎么用
作者: hmyroot    时间: 2021-5-13 04:28
用api动态载入dll,不要用火山的视窗.引入
作者: b0y    时间: 2021-5-13 07:11
我感觉还是目录问题 你写出后在调试输出dll是否存在
作者: 创世魂    时间: 2021-5-13 13:37
@视窗.附属文件    就解决了。用这个之后就可以吧dll输出到自己软件的路径
作者: 江渝潇潇    时间: 2021-5-13 14:53
创世魂 发表于 2021-5-13 13:37
@视窗.附属文件    就解决了。用这个之后就可以吧dll输出到自己软件的路径

编译出来之后运行时自动释放,就像易语言那样都是自己放资源表里运行时释放dll出来
作者: a870840081    时间: 2021-5-17 01:54
江渝潇潇 发表于 2021-5-13 14:53
编译出来之后运行时自动释放,就像易语言那样都是自己放资源表里运行时释放dll出来 ...

dll只能随软件打包一起发布 不能直接放在资源里写出,除非老吴改火山运行监测机制
作者: 诗木    时间: 2021-5-17 03:08
我也被困扰过,自己摸索着解决了,看我的帖子
http://bbs.voldp.com/forum.php?mod=viewthread&tid=9166
作者: 朕的    时间: 2021-5-17 05:14
b0y 发表于 2021-5-13 07:11
我感觉还是目录问题 你写出后在调试输出dll是否存在

是不是这个问题很简单,在按钮下调用dll命令,如果按钮都没按就报错了,说明火山的顺序逻辑有问题
作者: anyway1hs    时间: 2021-5-31 20:22
兄die,问题解决了么?怎么处理的,遇到了同样的问题。
作者: su8359    时间: 2021-8-13 15:50
我也被困扰过,自己摸索着也解决不了,大姥不出手
作者: hq881128    时间: 2021-8-13 17:39
这个真的可以解决吗,我也有这个问题。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4