| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5431 人关注过本帖
标题:我要哭了,好好的程序为什么还是越用越慢?请高手再次帮助我分析原因。
只看楼主 加入收藏
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
Set Multilocks On &&* 决定能否使用 LOCK ( )或 RLOCK ( ) 锁定多个记录。&& 网络编程专用
SET EXCLUSIVE ON  &&文件以独占有方式打开
设置是否冲突
2010-03-16 15:21
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
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:0 
以下是引用YZCZWCB在2010-3-16 17:37:42的发言:

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

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

系统默认路径一般在主程序中设置~

我在测试你的这套软件时, 用的是你上传的附件, 怕你有改动, 为了保持一致, 所以也希望你测试时也用你上传的~~~

我在运行你的主程序时, 总背景图没有找到, 去检查路径时, 发现表单图片路径是自动定位的, 也是为了保持一致性, 所以建议你测试时也另建目录~~~我自己编程是全用过程式的, 面对对象只是测试时偶而用用~~~因此关于面对对象的表单设计时的路径定位原理, 我还真不懂, 这个坛子十有八九是采用你这样面向对象设计的, 高手很多, 他们应该很清楚~~~

你的主程序和你那个主表单的init和load代码我看了一下, 感觉你的设置和代码有些乱, 也有些重复, 但从运行而言, 无伤大雅~~~其它部分的代码我没有看, 不清楚是不是也这样~~

在编程时, 如要测试, 用主程序打开(不要从主表单打开), 应该不会有出现变慢或花屏现象~~~

要想你单位和你家里的程序能互相拷贝和通用, 要么是建一个相同的目录, 要么是把你表单的路径定位 改到系统默认路径一级, 不要用全路径~~~比如: 总背景图的图名为: "picture\图名.jpg" ~~~而不是 "d:\...\picture\图名.jpg"之类~~



2010-03-16 20:17
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 83楼 YZCZWCB
个人感觉那两行不应该是元凶.如果去掉那两行有用的话,还是OCX的问题!

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

★★★★★为人民服务★★★★★
2010-03-16 21:04
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
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 86楼 YZCZWCB
这个我没测试过,但似乎有这种可能性. 比如A操作触发B操作,B操作触发C操作....X操作触发A操作.

★★★★★为人民服务★★★★★
2010-03-17 08:07
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
在测试你的软件过程中,发现退出(左边菜单中的)好像有点问题啊,而你说的现象,倒是没出现(也许我测试的不全面)

★★★★★为人民服务★★★★★
2010-03-17 08:09
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
zhuyunshen
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:212
专家分:455
注 册:2009-11-22
收藏
得分:0 
没有出现要定位控件之类的对话框
2010-03-17 09:41
快速回复:我要哭了,好好的程序为什么还是越用越慢?请高手再次帮助我分析原因。 ...
数据加载中...
 
   



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

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