找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 804|回复: 5

炫彩界面窗口,如果EXE初始化前,将资源里面的XCGUI.dll释放到运行目录

[复制链接]

8

主题

36

回帖

218

积分

中级会员

积分
218
QQ
发表于 2025-8-11 22:58:01 | 显示全部楼层 |阅读模式
悬赏1金钱已解决
炫彩界面窗口,如果EXE初始化前,将资源里面的XCGUI.dll释放到运行目录?

把exe目录下的XCGUI.dll删除后,尝试过:
1.窗口绘制时事件释放,但是没调用到
2.入口函数 前面释放,也调不到;
3.入口函数 最前面增加弹窗,也调不到;

问题:如果才能将资源里面的XCGUI.dll释放到运行目录?

代码如下:

        系统消息框(0, "启动窗口_开始绘制", "", 1)


        // 1. 从资源中查找名为 "界面dll" 的资源
        正整型 资源大小 = 0
        空类型 *资源地址 = RC资源查找文件("界面dll", &资源大小)  // 假设资源 ID 已定义为 "界面dll"

        调试输出("资源大小 " + 到文本(资源大小))
        调试输出("资源地址 " + 到文本(资源地址))

        如果 (资源地址 == NULL)
                调试输出("资源加载失败")
                返回 -1
       
        // 2. 获取程序运行目录
        文本型 运行目录 = 取运行目录()
        文本型 文件路径 = 运行目录 + "\\XCGUI.dll"  
        //"D:" + "\\XCGUI.dll"
        调试输出("文件路径 " + 文件路径)

        // 3. 写入文件到运行目录
        文件类 文件对象
        逻辑型 打开状态 = 文件对象.打开写入(文件路径)
        调试输出("打开状态 " + 到文本(打开状态))

        整型 写入大小 = 文件对象.写入数据(资源地址, 资源大小)
        调试输出("写入大小 " + 到文本(写入大小))
        文件对象.关闭()

        如果 (写入大小 != 资源大小)
                调试输出("文件写入不完整")
                返回 -3
       
        调试输出("资源已成功释放到:", 文件路径)

6

主题

16

回帖

156

积分

注册会员

积分
156
发表于 2025-8-11 22:58:02 | 显示全部楼层


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

8

主题

36

回帖

218

积分

中级会员

积分
218
QQ
 楼主| 发表于 2025-8-11 22:59:09 | 显示全部楼层
函数 整型 入口函数_窗口() //窗口程序入口函数, 程序启动优先进入此函数
        //在进入UI前需要运行的代码写在这里
        系统消息框(0, "启动窗口_开始绘制", "", 1)
        // 1. 从资源中查找名为 "界面dll" 的资源
        正整型 资源大小 = 0
        空类型 *资源地址 = RC资源查找文件("界面dll", &资源大小)  // 假设资源 ID 已定义为 "界面dll"

        调试输出("资源大小 " + 到文本(资源大小))
        调试输出("资源地址 " + 到文本(资源地址))

        如果 (资源地址 == NULL)
                调试输出("资源加载失败")
                返回 -1
       
        // 2. 获取程序运行目录
        文本型 运行目录 = 取运行目录()
        文本型 文件路径 = 运行目录 + "\\XCGUI.dll"  
        //"D:" + "\\XCGUI.dll"
        调试输出("文件路径 " + 文件路径)

        // 3. 写入文件到运行目录
        文件类 文件对象
        逻辑型 打开状态 = 文件对象.打开写入(文件路径)
        调试输出("打开状态 " + 到文本(打开状态))

        整型 写入大小 = 文件对象.写入数据(资源地址, 资源大小)
        调试输出("写入大小 " + 到文本(写入大小))
        文件对象.关闭()

        如果 (写入大小 != 资源大小)
                调试输出("文件写入不完整")
                返回 -3
       
        调试输出("资源已成功释放到:", 文件路径)


        炫彩_初始化(真)  //初始化设计器使用的炫彩界面库
        炫彩_启用自动重绘UI(真) //当修改UI后将自动调用重绘函数更新UI
        #加载资源文件     //指示在此处自动加载资源文件, 根据项目属性设置, 从文件 或 从内存
        主窗口.运行()    //运行上面设计器生成的类中的运行()函数
        //在进入UI后需要运行的代码写在这里

        炫彩_运行()  //运行消息循环
        炫彩_退出()  //程序退出释放界面库资源
        返回 0

8

主题

36

回帖

218

积分

中级会员

积分
218
QQ
 楼主| 发表于 2025-8-12 09:07:05 | 显示全部楼层

谢谢大哥指点!!

26

主题

64

回帖

533

积分

高级会员

积分
533
QQ
发表于 2025-8-24 12:48:20 | 显示全部楼层
学习到了....弄成模块方式调用更省事了

8

主题

36

回帖

218

积分

中级会员

积分
218
QQ
 楼主| 发表于 2025-8-26 23:17:53 | 显示全部楼层
南小鱼 发表于 2025-8-24 12:48
学习到了....弄成模块方式调用更省事了

大哥交给你了,发布一下这个模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )

GMT+8, 2025-10-15 20:18 , Processed in 0.093449 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表