大家来探讨一个vb的重要问题!

andyfr1210 2004-07-24 10:19:51
为了减少vb对内存的占用,为了提高程序的运行速度,在编码的时候应该注意一些什么问题?有一些什么技巧。
(感觉自己用vb写的系统占用的内存随着程序的运行越来越多。而且系统的运行也比较慢,是不是有些地方该释放内存没有释放,据说连窗体也要set form1=nothing,是吗?)
现在头有一点晕,请大家给我一点建议吧!!!!!!!!!!!
要不然我只有放弃VB了,晕啊!!!!!!!!!!
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fionfrankie 2004-07-25
  • 打赏
  • 举报
回复
1.在循环体内尽少多次创建或消毁对象或数据源连接、打开、关闭等处理。
2.一般条件不要过渡嵌套,尽量三层内表达清楚。
3.使用整型运算,例如用currency类型计算金额而不用double。
4.操作前预读公用数据。
5.只获取适当的数据。
6.使用显式变量类型,以节省内存。
7.服务器端处理汇总逻辑,减少网络往返。
8.值传递,特别是dcom远程部件.
9.对象用完就set obj= nothing .

除了图形外,vb应等同vc性能,
简单问题简单做,
写一手流利的语言,不要太哆嗦就是了!
liul17 2004-07-25
  • 打赏
  • 举报
回复
常用一些 set xxx=nothing 没有坏处
vb中的一些对象 你用 .close 是没有完全被释放的用 set xxx=nothing 等于完全释放

还有就是上面所说的一些
将这些总结一下即可 编代码本来就是一点一滴的事
andyfr1210 2004-07-25
  • 打赏
  • 举报
回复
谢谢各位的指点.
我的程序里用了两个时钟,一个是实时检测串口是否有数据到达.另一个有别的用途.
我想这也是影响速度的一个原因.

daisy8675 2004-07-25
  • 打赏
  • 举报
回复
上面各位说的都不错啊,不过注意释放内存,代码的写作风格。
helanshan 2004-07-25
  • 打赏
  • 举报
回复
少使用模块级变量和全局变量,多使用过程级变量....过程级变量的特点是当所在过程执行完毕,变量就会消失,释放内存,再次执行这个过程时,系统重新给变量分配内存空间..
sssss342072 2004-07-24
  • 打赏
  • 举报
回复
回复人: northwolves(狼行天下) ( ) 信誉:105 2004-07-24 22:29:00 得分: 0


自己认为主要以下几点:

尽量少用variant 数据类型
尽可能用控件数组代替相似功能的多个控件
尽量少用字符串的连接运算
及时释放占用资源


对于这些的补充:
尽量少用TIMER控件,微软曾经发布过一个程序最好只应用一个TIMER的建议
对于记录集一定要注意用完即时CLOSE
SafeF8 2004-07-24
  • 打赏
  • 举报
回复
1.尽量避免使用 Variant 变量。由于VB不能确定 Variant 变量的具体类型,所以它会给该类型变量分配16个字节的空间,而且在用变量进行运算时还要考虑到数据类型的转换。这既占用内存,又影响了速度,会使涉及到复杂运算的程序慢。注意,一个变量的缺省类型就是 Variant,其它类型的变量要用Dim语句单独声明。
2.在遇到整型数据时尽量使用Long变量。因为Long变量是32位CPU的本机数据类型,所以处理速度会很快,尤其是在循环体中。
3.将控件的常用属性保存在变量中。一般控件存在于DLL或OCX这类的外部程序中。众所周知,调用DLL远比访问内存慢。所以对于那些放在循环体中的常用属性,如果将它们保存在变量中,那么速度将会有成百上千倍提升。

cso 2004-07-24
  • 打赏
  • 举报
回复
楼上说完了,我只有顶
northwolves 2004-07-24
  • 打赏
  • 举报
回复
自己认为主要以下几点:

尽量少用variant 数据类型
尽可能用控件数组代替相似功能的多个控件
尽量少用字符串的连接运算
及时释放占用资源
  • 打赏
  • 举报
回复
我也想知道
andyfr1210 2004-07-24
  • 打赏
  • 举报
回复
自己先来up一下。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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