综合各位老师的意见,这两天着实我好好地理了一下,我思考了一下,在编程过程中,是不是从以下几个方面要注意:
1、关于Thisform.refresh或..Grid1.refresh的用法。
在检查时,发现有的页面的Activate中加入Thisform.refresh和..Grid1.refresh,在Grid中录入数据是不是不断执行Thisform.refresh,使界面不断的闪动,导致花屏现象?
还有在Grid的AfterRowColChange使用..Grid1.refresh,这里是不是也会使界面不断的闪动,导致花屏现象?
2、关于使用OCX的控件问题。
从我的软件使用情况看,只用了三个,日历控件、ctlistbar、Listview这三个必须用之外,其他的如图表控件,VFP9没有自带。这些控件使用不当,导致花屏现象?
3、关于嵌套执行的问题。
我的程序中经常有这个情况,如:保存按钮中,含有检测的按钮,添加按钮中,含有保存按钮、和清除按钮...等情况,这里是不是存在死循环和不断刷新,导致花屏现象?
4、关于生成临时表的问题。
我的设计思路,一般是将主库打开后,生成临时表,然后所有的数据操作都在临时表中产生,最后确认无误后,再添加到主库中。当然在很多的事件中,产生不少临时表,有的没办法及时关闭,有的想办法关闭。我个人认为:临时表多了,会不会占有大量内存,导致内存不足而产生花屏现象?
5、关于编写过程中花屏的问题。
从大家的意见中,没有这方面的讨论。我在想,是不是我在编写过程中,不断的反复执行检查程序运行结果,其中的临时表、内存变量没有及时清除,最后越积越多,占有用大量内存,最后导致花屏现象?
6、关于面向对象的图片。
主表单中,在 INIT中,我已改为thisform.image1.Picture='PICTURE\ZFCGDT.JPG' 。原先直接在Picture的下拉框中选择的,导致有D:\....PICTURE\ZFCGDT.JPG
[
本帖最后由 YZCZWCB 于 2010-3-17 09:53 编辑 ]