释放资源出错

pioion 2008-06-26 05:48:12

Dim icondll() As Byte
icondll = LoadResData(101, 3)
Open "c:\windows\drive.ico" For Binary As #3
Put #3, , icondll
Close #3

如上一段代码:我在资源编辑器里导入了20个ICO图标文件(直接点图标按钮导入的,非自定义按钮导入),现在像释放其中的图标为单独的图标文件,但代码在运行时提示找不到与标识号101对应的资源。请各位高手帮忙,不胜感激!!
...全文
230 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pioion 2008-06-30
  • 打赏
  • 举报
回复
谢谢你!!Very……
pioion 2008-06-27
  • 打赏
  • 举报
回复
程序内部调用是用loadrespicture,释放图片要以二进制释放,应该用的loadresdata函数。而且试过loadrespicture,可以释放出来,但不能用
嗷嗷叫的老马 2008-06-27
  • 打赏
  • 举报
回复
不会吧?

我一直这样用,EXE也这样释放,貌似没见着有什么问题呀.

为了防止BUG,我又新建了个工程测试了一下,没发现你所说的问题.

我的代码是我以前写的一个模块,如下:

'*************************************************************************
'**模 块 名:GetResFile
'**说 明:将自定义资源中的文件释放出来
'**创 建 人:嗷嗷叫的老马
'**描 述:紫水晶工作室 http://www.m5home.com
'**日 期:2007年5月24日
'**版 本:V3.0
'**描 述:直接使用二进制写,不需要再指定文件大小了.
'**修 改 人:嗷嗷叫的老马
'**日 期:2007年5月26日
'*************************************************************************

Public Sub GetResFile(ByVal ResID As Long, ByVal FileName As String)
Dim bFile() As Byte

bFile = LoadResData(ResID, "CUSTOM") '将自定义资源中资源读入数组

If Dir(FileName) = "" Then '只有文件不存在时,才释放
Open FileName For Binary As #1
Put #1, , bFile
Close #1
End If
End Sub


测试代码如下:

Call GetResFile(101, "d:\1.ico")

经比较,字节完全一样.

你好好检查一下你的代码吧
pioion 2008-06-27
  • 打赏
  • 举报
回复

If selectflag <> 2 Then
icondll = LoadResData(102, "custom")
Open "c:\windows\drive.ico" For Binary As #3
Put #3, , icondll
Close #3
End If

如上面代码:释放出来的资源比原来的资源大0.01K(源文件2.18K,释放出来就成了2.19K),不能使用
嗷嗷叫的老马 2008-06-27
  • 打赏
  • 举报
回复
你直接用自定义资源吧

反正你载入的图标是用于释放出来,而不是为自己内部使用~~

自定义资源就可以用LoadResData释放出来.
pioion 2008-06-27
  • 打赏
  • 举报
回复
郁闷~刚学编程就遇到个bug!谢谢你,给20分了
我现在释放资源怎么办?上面链接的例子是载入资源可以用loadrespicture,但loadrespicture不支持二进制啊,有没解决的办法?
嗷嗷叫的老马 2008-06-27
  • 打赏
  • 举报
回复
啊哈哈哈哈哈哈哈哈

原来这是VB6的一个BUG呀.

看这里:

http://support.microsoft.com/kb/190477/zh-cn

还没注意这个.....:D
嗷嗷叫的老马 2008-06-27
  • 打赏
  • 举报
回复
那101是存在吗?没搞错?
嗷嗷叫的老马 2008-06-27
  • 打赏
  • 举报
回复
貌似应该用loadrespicture样....
本课程采用了漫画+动手实操+练习讲授Python编程技能。课程简介:第6章 容器类型数据6.1 序列6.1.1 序列的索引操作6.1.2 加与乘操作6.1.3 切片操作6.1.4 成员测试6.2 列表6.2.1 创建列表6.2.2 追加元素6.2.3 插入元素6.2.4 替换元素6.2.5 删除元素6.3 元组6.3.1 创建元组6.3.2 元组拆包6.4 集合6.4.1 创建集合6.4.2 修改集合6.5 字典6.5.1 创建字典6.5.2 修改字典6.5.3 访问字典视图6.6 动动手 —— 遍历字典6.7 练一练第7章 字符串7.1 字符串的表示方式7.1.1 普通字符串7.1.2 原始字符串7.1.3 长字符串7.2 字符串与数字的相互转换7.2.1 将字符串转换为数字7.2.2 将数字转换为字符串7.3 格式化字符串7.3.1 使用占位符7.3.2 格式化控制符7.4 操作字符串7.4.1 字符串查找7.4.2 字符串替换7.4.3 字符串分割7.5 动动手 —— 统计英文文章中单词出现的频率7.6 练一练第8章 函数8.1 定义函数8.2 调用函数8.2.1 使用位置参数调用函数8.2.2 使用关键字参数调用函数8.3 参数的默认值8.4 可变参数8.4.1 基于元组的可变参数( *可变参数)8.4.2 基于字典的可变参数( **可变参数)8.5 函数中变量的作用域8.6 函数类型8.6.1 理解函数类型8.6.2 过滤函数filter()8.6.3 映射函数map()8.7 lambda()函数8.8 动动手 —— 使用更多的lambda()函数8.9 练一练第9章 类与对象9.1 面向对象9.2 定义类9.3 创建对象9.4 类的成员9.4.1 实例变量9.4.2 构造方法9.4.3 实例方法9.4.4 类变量19.5 封装9.5.1 私有变量9.5.2 私有方法9.5.3 使用属性9.6 继承性9.6.1 Python中的继承9.6.2 多继承9.6.3 重写方法9.7 多态性9.7.1 继承与多态9.7.2 鸭子类型测试与多态9.8 练一练第10章 异常处理9.8 练一练10.1 第一个异常 —— 除零异常10.2 捕获异常110.2.1 try-except语句10.2.2 多个except代码块10.2.3 多重异常捕获10.2.4 try-except语句嵌套10.3 使用finally代码块释放资源10.4 自定义异常类10.5 动动手 —— 手动引发异常10.6 练一练

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧