以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 用户咨询 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=4) ---- [求助]怎么传值错误? (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=4&id=6515) |
||||
-- 作者:pc_doctor -- 发布时间:2006-11-21 2:04:10 -- [求助]怎么传值错误? 请大家帮我检查一下: 问题描述:本意是通过窗口3的“签订时间”和“文本编辑1”中的序列值来自
|
||||
-- 作者:admin -- 发布时间:2006-11-21 10:38:06 -- 主要是你在“窗口1”中的记录循环构件的使用方法不对! 原因:记录循环是自动循环的,也就是当你指定了“数据集”会,循环次数就已经确定,不需要你再执行“得到当前记录”等方法。由于你执行了方法“得到当前记录”,导致缓存中自动压入了三条记录的记录号。注意,并不向你说的,它把数据表中的记录“带”出来的,而是你的“zhanghao”表只有三条记录,而你的admin帐号,恰巧默认密码为“123”,所以你误以为是把密码“123”带出来了;如果你的“zhanghao”表中有四条记录,程序的运行结果是将是“1234200601”等等。 解决办法:在窗口1的“窗口可见”事件中,删除第一条命令“得到当前记录”。 |
||||
-- 作者:admin -- 发布时间:2006-11-21 10:53:29 -- 再向大家提供一个找程序错误的经验——调试运行的应用 程序写出来,一运行有错误,许多人往往不知所措,无从下手查找,以主楼为例,实例有多个事件设置,到底是哪个事件设置出了问题?首先,按照楼主的程序运行,运行一遍,确实出现上述错误,下一步,就要调试运行,判断不可能出错的地方把不可能,采用“正常”执行方式,一带而过,重点检查出错的事件,用“单步”执行方式,这时就发现,在缓冲中总是多一个1、2、3,三个字符,而在这之前,从来没有提取过这三个字符,就要从自动执行的事件去找,如窗口创建、窗口可见等事件,从主楼提供的例子看,在窗口可见中,记录循环构件的用法,显然是有问题的,问题也就迎刃而解了。 |
||||
-- 作者:pc_doctor -- 发布时间:2006-11-21 12:27:59 -- 谢谢admin的指导和矫正。我也是经过单步跟踪时发现了缓存中的这个问题,确实是有多少条记录数就带多少出来,就是没有搞清楚怎么去解决。 但,这个小问题值得大推敲,不放过任何一个“坏人”加以深入讨论,也许,对星的优化有帮助: ——你再仔细单步跟踪时,会发现这个多余的“东东”,是在执行了admin讲的错误之后出现在内存中的,可是之后又有几个步骤是已经消失了的,就连打开窗口3时也曾消失了的,就是在准备进行字符串连接时怎么又钻出来了? ——这就提出个问题:必须加强内存控制和管理。在该例中的连接语句中看似: 参数> 窗口3.行编辑1.属性:(当前编辑内容) 而实际上是将当前缓存中所有的字符进行连接的,今后大家要注意到这点。同时,星最好能有个处理缓存的功能就好了,也许将来会让她派上用场的! |