高分求教,一个困了我长时间的问题.

Hideal 2004-11-28 05:22:13
我写的程序一直都有资源不足的问题,要不然就很容易死机.
比如:
A.jpg是一个1000k的图像.
for i=1 to 50
picture1.picture=loadpicture(“c:\A.jpg”)
set picture1.picture=nothing
next i
多运行N次就死了,或打开了其它程序就不行了,或在调入图片的过程中就死了.

还有如果我用:
dim x_rs_1 as new adodb.recordset
set x_rs_1=new adodb.recordset
x_rs_1.open “…”,,,
if x_rs_1.state=1 then x_rs_1.close: set x_rs_1=nothing
多运行N次也死了,或打开了其它程序再运行就不行了.

請問真正要怎樣解決啊, 我用Delphi的控件調入圖片從來都不會啊

幫我啊!!!
...全文
164 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
胖河马 2004-11-29
  • 打赏
  • 举报
回复
dim x_rs_1 as new adodb.recordset
vb运行时会在你调用x_rs_1的时候检测对象是否已经创建,如果没有就创建一个对象

dim x_rs_1 as adodb.recordset
在使用x_rs_1前必须使用new创建对象

dim x_rs_1 as new adodb.recordset
set x_rs_1=new adodb.recordset
这两句一起使用没什么问题,不过第二句比较多余,有没有都一样
胖河马 2004-11-29
  • 打赏
  • 举报
回复
你vb打补丁了吗?一个4.87M的jpg,用你的代码循环1000次没出现任何问题
Hideal 2004-11-29
  • 打赏
  • 举报
回复
picture1.picture=loadpicture

SET picture1.picture=loadpicture
有不同嗎?
行云边 2004-11-29
  • 打赏
  • 举报
回复
for i=1 to 50
picture1.picture=loadpicture(“c:\A.jpg”)
picture1.picture=loadpicture
next i
flc 2004-11-29
  • 打赏
  • 举报
回复
dim x_rs_1 as new adodb.recordset
或者
dim x_rs_1 as adodb.recordset
set x_rs_1=new adodb.recordset
两者作用差不多是一样的,就是第二中方法比较正规哦
thisme2401 2004-11-29
  • 打赏
  • 举报
回复
建议采用image控件显示图片,这个占的内存比PictureBox少多了。
小白兔 2004-11-29
  • 打赏
  • 举报
回复
把 Picture 控件的 AutoRedraw 设置为 True
fishmans 2004-11-29
  • 打赏
  • 举报
回复
楼主同志,你是不是32M内存啊?
Hideal 2004-11-28
  • 打赏
  • 举报
回复
UP
homezj 2004-11-28
  • 打赏
  • 举报
回复
循环中容易出这种问题,这可能与VB的单线程机制有关,你试试在Next前,加句Doevents看看。
Hideal 2004-11-28
  • 打赏
  • 举报
回复
幫我啊!
Hideal 2004-11-28
  • 打赏
  • 举报
回复
to aohan(景升):
dim x_rs_1 as new adodb.recordset
set x_rs_1=new adodb.recordset
x_rs_1.close:set x_rs_1=nothing
這樣不是已經不佔內存了嗎?
dim x_rs_1 as adodb.recordset和
dim x_rs_1 as new adodb.recordset
set x_rs_1=new adodb.recordset 佔內存和意義有什么不同?
aohan 2004-11-28
  • 打赏
  • 举报
回复
//dim x_rs_1 as new adodb.recordset
///set x_rs_1=new adodb.recordset '这一句就不要再用了

或者你声明时dim x_rs_1 as adodb.recordset
Hideal 2004-11-28
  • 打赏
  • 举报
回复
我只是想證一下我有類似代碼.
在一個窗體中執行
picture1.picture=loadpicture(“c:\A1.jpg”)
picture2.picture=loadpicture(“c:\A2.jpg”)
picture3.picture=loadpicture(“c:\A3.jpg”)
然後窗體關時
set picture1.picture=nothing
set picture2.picture=nothing
set picture3.picture=nothing
然後反復開關窗體就不行了資源不足或死機



aohan 2004-11-28
  • 打赏
  • 举报
回复
for i=1 to 50
picture1.picture=loadpicture(“c:\A.jpg”)
set picture1.picture=nothing
next i

不知道你这样做有什么目的,@_@

7,763

社区成员

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

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