威纶通官方论坛

宏-配方查询未得到正确结果

[复制链接]
发表于 2012-10-25 11:23:30 | 显示全部楼层 |阅读模式
问题描述:
某客户宏指令查询配方功能只能正确查询一次,如果多查询几次则不能得到正确结果。
解决情况:
1、查看客户的查询功能的宏代码,如下图:

2、发现其算法基本上没有什么问题,但在FOR循环语句里面,每次触发此查询代码模块后,无论查到结果如否,FOR语句就要可执行1000次,大大无味的浪费系统的运行资源和效率。而且,其代码中的变量 Index和mm都没有做初始化,在多次运行此模块后,系统可能会为其分配不定的值,导致运算结果不正确。       
对其查询模块做如下改进:

3、调试后,查询模块的功能正确。
总结得出,在写宏指令代码的时候,如果有用到for...next ; while ....wend ; switch....case等循环语句时,我们要善于用到break命令。让模块运行得到正确结果后,要记得及时释放内存资源,以免导致白白占用系统资源,影响文件的执行效率,甚至得到错误的运行结果。同时,在定义变量时要记得给变量初始化。

本帖子中包含更多资源

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

x
发表于 2015-3-16 14:46:14 | 显示全部楼层
多谢分享~~
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-4-26 23:53

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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