标题:在VFP6.0下能用的数组定义为什么在8.0和9.0下就不能使用了呢?
只看楼主
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
结帖率:99.55%
 问题点数:0 回复次数:4 
在VFP6.0下能用的数组定义为什么在8.0和9.0下就不能使用了呢?

我一直使用VFP6.0,最近试用VFP8.0和9.0迷你版。我在6.0中主程序定义数组时用下面的代码,能够正常编译:

public dimension dsys(20), ddat(60)

而在VFP8.0及9.0编译时提示语法错误,并在其后的编译中多次提示“找不到未知的DSYS”和“找不到未知的DDAT”。我将dimension前面的public去掉后,不会提示语法错误了,但仍然提示“找不到未知的DSYS”和“找不到未知的DDAT”。

这两个数组是我在主程序中定义的全局变量,在多个表单或报表中都需要使用,起到在表单之间或表单与报表之间传递数据的作用。我在6.0下一直正常使用,为什么在8.0和9.0下就不能使用了呢?,应该如何解决这个问题呢?

搜索更多相关主题的帖子: VFP 定义 dimension 表单 主程序 
2007-04-25 10:41
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
得分:0 

定义全局变量或数组。下面是 2 个版本的语法。


PUBLIC MemVarList


PUBLIC [ ARRAY ] ArrayName1( nRows1 [ , nColumns1 ] ) [, ArrayName2( nRows2 [, nColumns2 ] ) ] ...
[AS type [OF ClassLib]]

参数
PUBLIC MemVarList
指定要初始化并指派为全局的一个或多个内存变量。用逗号分隔 MemVarList 中的多项。单个字母 A 到 J 和 M 是保留字,且不能用来作为内存变量名。
PUBLIC [ ARRAY ] ArrayName1( nRows1 [, nColumns1 ]?) [, ArrayName2( nRows2 [, nColumns2]?)] ...
指定要初始化并指派为全局的一个或多个数组.


认真看书学习,弄通Fox主义。
2007-04-25 15:12
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
DECLARE dsys[20],ddat[60]

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2007-04-25 15:18
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
直接用public dsys(20),ddat(60)就通过了,中间加了dimension或者declare,在6.0下可以,到8.0下就不行。

活到老,学到老! http://www. E-mail:hu-jj@
2007-04-26 07:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
工具-选项-常规 中设置可能有问题

坚守VFP最后的阵地
2014-03-22 15:51



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




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

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