标题:我要哭了,好好的程序为什么还是越用越慢?请高手再次帮助我分析原因。
取消只看楼主
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
回复 79楼 wzxc
按你的改的主程序,编译后,总说找不到数据表文件。

是路径有问题,总是提出打开表的对话框。
2010-03-16 17:35
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
回复 78楼 茵梦湖
我已按照你的意见一步一步做了。

没有出现要定位控件之类的对话框?

运行一下,没发现什么问题,没出现花屏现象。

但问一下;
第1步. 你将那2个附件解压到一个新建目录中~
第2步. 将forms下的zfcg_dcbd表单的load代码改为如下(即红字部分删去):
        *SET DEFAULT TO sys(5)+curdir()  && 系统路径设置
        *SET PATH TO data,forms,help,icons,menus,progs,activex
第3步.  将progs下的zfcg_main.prg 拷到那个新建目录下, 运行新建目录下的zfcg_main即可~~~(注:用9.0版)

        也建议你 按照我76楼所说的步骤(一模一样的步骤, 即下载你上传的2个附件, 解压, 不要用你电脑中原有的文件), 测试一下, 你的系统会不会变慢或花屏~~~


为什么要这么做?请问什么原因?

另外,就不知道编写程序时会不会出现花屏情况?

[ 本帖最后由 YZCZWCB 于 2010-3-16 17:51 编辑 ]
2010-03-16 17:37
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
以下是引用cnfarer在2010-3-16 21:04:30的发言:

个人感觉那两行不应该是元凶.如果去掉那两行有用的话,还是OCX的问题!

另外提个醒:1.看一看你的时钟控件的Timer代码.2.基于面向对象的特点,代码的执行有陷入循环执行的可能.

  能不能详细说明呀?我删除了时钟控件。

第二条:基于面向对象的特点,代码的执行有陷入循环执行的可能,

     这句话是指的时钟控件吗?还是其他控件
2010-03-17 07:46
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 


综合各位老师的意见,这两天着实我好好地理了一下,我思考了一下,在编程过程中,是不是从以下几个方面要注意:

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 编辑 ]
2010-03-17 09:26
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 


还是出现花屏现象。我怎么了?

今天按改过的程序在录入集中采购数据时,有小段时间没动电脑,录入界面在屏幕上,然后屏保时,就出现花屏。

完了!

[ 本帖最后由 YZCZWCB 于 2010-3-17 10:33 编辑 ]
2010-03-17 10:30
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
以下是引用wzxc在2010-3-17 11:36:01的发言:

抽空看了一下几个表单,每个表单的load事件中,都有设置系统路径和搜索路径的语句,其实这些在主程序一次性设置即可。
本地变量问题。没有事先声明,直接使用,末尾在release 释放。其实在模块开始用local声明,模块 ...
第一问题:每个表单的load事件中,都有设置系统路径和搜索路径的语句。这是因为我在调试每个表单时,没有通过从主程序开始执行,调试时会提示找不到相关文件。所以我加上了。

第二个问题:变量都要事先声明?我只知道全局变量要声明一下,局部变量也要声明吗?

一般我都用这样的格式:如:aa=alltrim(thisform.text1.value)等。
按你的意思是不是都要这样设置:
local aa,bb,affds,sdfsd
aa=alltrim(thisform.text1.value)
bb=''
....
或者:
PARAMETERS Cfhcs
Cfhcs=’。。。‘

[ 本帖最后由 YZCZWCB 于 2010-3-17 12:01 编辑 ]
2010-03-17 11:51
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
回复 94楼 ibmlang_002
家里的电脑是去年底加了一根内存条。

办公室的电脑才买了一年,内存有问题?

今天花屏的情况才怪,我只录入两个数据,然后有事情出去了一下,当时没退出我的录入界面,回来一看,整个屏幕都乱七八糟的。

再说我运行其他应用软件从来也没有这种现象,电脑公司的人肯定说我是软件的问题。


下午再重新做系统,把内存条换一换再说了。

哭死我了。
2010-03-17 11:56
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
回复 99楼 wzxc
前天就按你意思换了VFP了。


你帮我看看zfcgjz_xmsp这个集中采购数据录入表单,对每个事件的程序看看有没有导致花屏,或者不合理的地方。并请指出来,


我再对照一下,修改别的表单。


麻烦你了。

[ 本帖最后由 YZCZWCB 于 2010-3-17 12:17 编辑 ]
2010-03-17 12:14
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
回复 101楼 panpende


你一说,我也觉得了。因为编译好执行,用了主程序。在退出我的程序后,并没有象有的文章所说要恢复什么环境的,还有释放什么的?然后,我有时又进入我的软件再执行。

还有我在编程序时,有时也会执行主程序,看看运行效果。

所以感觉,是不是主程序有问题,没有释放什么的?还有没有恢复什么的?



那你能不能改一下我的主程序。谢谢。

或者,把你们用的主程序给我,我只要改一下。

[ 本帖最后由 YZCZWCB 于 2010-3-17 14:00 编辑 ]
2010-03-17 13:55
YZCZWCB
Rank: 1
等 级:新手上路
帖 子:191
专家分:5
注 册:2010-1-9
得分:0 
回复 103楼 panpende
谢谢。

原先我也没有在每个事件中写一些清除变量语句。

这还不是花屏搞的我有病乱投医嘛。总以为减少内存的存在,不至于出现的花屏。

另外,在我的COMBO中,如要在数据库中生成只有“采购单位”的临时表,一般在INIT中生成就行,但这个临时表在这个模块一直存在,为了释放这个内存表,减少内存的使用,我后来就改用了TEXT的和COMB的组成,在COMB的离开事件中关闭临时表,真的累死我了。

我在想,如果内存表不是出现花屏的主要原因,我还要恢复用一个COMB就行,这样程序更简洁。


另外,你提醒我的空白行的问题,晚上我再搜一下,删除所有空白行,防止出现不知名的问题

[ 本帖最后由 YZCZWCB 于 2010-3-17 16:30 编辑 ]
2010-03-17 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-299461-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.138011 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved