主题:[讨论] VFP中的全局变量最大承受能力是多少?
北京种子乐
[专家分:3710] 发布于 2008-05-28 04:10:00
____本人为了编程方便,为每个表格建立了一个对应的设置表,表中注明了表格中各列名称、宽度、字段名、字段类型等11列信息,系统运行初又将这些表制成了全局变变量的数组,再用数组去设置表格。
软件开发之初只有几个表格时感觉很好,随着软件越编越大,这种设置表越来越多,这种全局变量数组也就越来越多,刚才我数了一下,是65个,按稍大一点的每个表按50个记录记录计算,那就是:65*50*11=35750,也就是说仅这一项系统中就有35750个全局变量了,其它方面也使用了很多全局变量,因为本人编软件向来就有使用全局变量的习惯。
06年07年本人就发帖讨论过全局变量的使用问题,有几位高师均表示全局变量使用过多,危害极大,建议不用或少用,自从那时起本人对使用全局变量有所收敛。
现在的问题是VFP对全局变量究竟有多大的承受能力,如果VFP的全局变量资源很多,不充分运用那就是资源的浪费,如果超出了VFP的全局变量承受能力,系统运行就会出问题。
讲回到主题上,我现在是想把上面提到的那些为设置表格而生成的全局变量数组去掉,直接用设置表去设置表格,但这项改造工程量很大,难度也很大,还会给软件造成一个时期的不稳定。那么这种改造是不是值得?是不是有必要?敬请各位高师指点,在下这边有礼了。
最后更新于:2008-05-28 06:02:00
回复列表 (共37个回复)
21 楼
北京种子乐 [专家分:3710] 发布于 2008-06-04 09:07:00
“缓冲功能”是干什么的?
乌鸦弟不会用,我还是刚听说呢。
22 楼
wzxc [专家分:9440] 发布于 2008-06-04 09:55:00
支持乌鸦老师的意见。
应该充分发挥vfp面向对象编程的优势,尽可能的使用表单属性。它可以在表单范围内起到全局变量的作用,并随表单的释放而释放。
还有一种变量是报表变量。
在dos年代,我也是尽可能的使用私有变量和本地变量,全局很少用的。
{“缓冲功能”是干什么的?
乌鸦弟不会用,我还是刚听说呢。}
是不是指表缓冲?此功能甚好!
{____本人为了编程方便,为每个表格建立了一个对应的设置表,表中注明了表格中各列名称、宽度、字段名、字段类型等11列信息,系统运行初又将这些表制成了全局变变量的数组,再用数组去设置表格。}
如果仅此目的,是不是在表单的init事件中,调用设置表的内容,根本用不到在系统运行之初就全部加载到全局变量中去,确实是浪费系统资源。
另外,你的这样做法,动态生成表格控件,是不是就用一个通用的表单啊?
23 楼
北京种子乐 [专家分:3710] 发布于 2008-06-04 10:09:00
那么“表缓冲”又是怎么回事?
越来越糊涂了。
[em10][em19][em18]
24 楼
0901chang [专家分:10660] 发布于 2008-06-04 15:36:00
楼主,若把编程技术水平模拟为财富,老高、cbl518等是千万富翁,他们之上还有亿万富翁。而你我是属于每天都在为温饱而奋斗的那一类。富翁食不厌哙,你我却经常吃乘饭,甚至吃馊饭,不能比的。你定义大量的全局变量数组和我自己写缓冲,就是吃馊饭的概念,馊饭也能填饱肚子,注意别吃到拉稀就成。
不过,我以前有一个部下,河北人,他就特别喜欢吃馊稀饭。
25 楼
yjr3032570 [专家分:3360] 发布于 2008-06-04 16:28:00
这个苹果烂了一半,外婆说削掉一半还可以吃的,然后吃了拉肚子,去医院看了不至一百个苹果的价钱,再问外婆,外婆还是说扔掉多可惜,拉肚子是昨天着了凉!
陋习为什么怎么难改的,这就是中华民族几千年血脉相存的缘故啊,其实换种思路是很简单的事情,只不过是看不到自己所熟悉的环境吧了,门槛从30公分降低到10公分,反而会不习惯一样的!
26 楼
北京种子乐 [专家分:3710] 发布于 2008-06-04 17:19:00
[quote]楼主,若把编程技术水平模拟为财富,老高、cbl518等是千万富翁,他们之上还有亿万富翁。而你我是属于每天都在为温饱而奋斗的那一类。富翁食不厌哙,你我却经常吃乘饭,甚至吃馊饭,不能比的。你定义大量的全局变量数组和我自己写缓冲,就是吃馊饭的概念,馊饭也能填饱肚子,注意别吃到拉稀就成。
不过,我以前有一个部下,河北人,他就特别喜欢吃馊稀饭。[/quote]
和你比我还差的远呢,这是公论吧?
如果你尚吃剩饭、馊饭,我只有去讨饭那伙了。
27 楼
0901chang [专家分:10660] 发布于 2008-06-04 21:05:00
老种子虽然吃一些馊饭,但他的软件赚了几百万,乌鸦吃的馊饭可能比他少一点点,但乌鸦退休近10年才赚了不到8万,没有办法只好免费挂到网上。用户可以说老种子的软件有待改进,但我绝对没有资格说老种子的软件有馊味。
其实,这是老种子如何高效地使用资源问题,将自己的(很一般的)编程技术与市场结合找到一个最佳点,老种子是我们的榜样。
28 楼
北京种子乐 [专家分:3710] 发布于 2008-06-04 23:56:00
[quote]老种子虽然吃一些馊饭,但他的软件赚了几百万,乌鸦吃的馊饭可能比他少一点点,但乌鸦退休近10年才赚了不到8万,没有办法只好免费挂到网上。用户可以说老种子的软件有待改进,但我绝对没有资格说老种子的软件有馊味。
其实,这是老种子如何高效地使用资源问题,将自己的(很一般的)编程技术与市场结合找到一个最佳点,老种子是我们的榜样。[/quote]
呵呵:
老弟这么夸我,是怕我不活着吧?
不会的,打倒了四人帮,还得好好活着呀。
29 楼
北京种子乐 [专家分:3710] 发布于 2008-06-10 05:20:00
[quote]系统中是尽量多用全局变量还是尽量少用全局变量?
这个问题是革命的首要问题,
各位VFP同志,勿必充分注意,
万万不可粗心大意。
[/quote]
[em45][em45][em45][em45][em45][em45]
30 楼
0901chang [专家分:10660] 发布于 2008-06-10 08:45:00
系统中是尽量多用全局变量还是尽量少用全局变量?
这个问题是喜欢吃山珍海味还是喜欢吃馊稀饭的问题,只要你的肚子有类似于狗肚子的能力,喜欢吃馊稀饭也是一种类似于喜欢吃臭豆腐的人的那种享受。
我来回复