havano 发表于 2007-10-25 10:56:32

使用全局变量声明变量

**** Hidden Message *****

havano 发表于 2007-10-25 10:57:18

全局PRBASEPT(0到2)为Double,PRCENTPT(0到2)为Double,PRCONTPT(0到2)为Double,PRDRANPT(0到2)为Double

havano 发表于 2007-10-25 10:57:45


哦,我明白了。
在这种情况下,单词Double需要与每个有趣的变量一起拼写出来。
这与其他数据类型不同。
是因为我在使用Global吗?一定是因为我们以前用另一种方式做过。
只有我们使用了Dim或Public
谢谢CM

havano 发表于 2007-10-25 11:01:34

GLOBAL是老派的。 PUBLIC已经取代了VB3或4的GLOBAL?? 我不知道它是否真的有所作为 - 我没有发现任何说“你不应该使用Global....再来一次!从不!! 永远...“
http://forums.devx.com/archive/index.php/t-58727.html

havano 发表于 2007-10-25 11:06:16

有点跑题,但嘿,这是我最近的风格。不得不问,你必须使用public/globals吗?在我多年的vb编程中,我可能曾经使用过一次全局变量。
更多跑题的东西,如果你对代码的整洁有意见,你可以这样做——
Global _
    PRBASEPT(0 To 2) as Double, _
    PRCENTPT(0 To 2) as Double, _
    PRCONTPT(0 To 2) as Double, _
    PRDRANPT(0 To 2) as Double
不正确,VB很不幸地原谅了你没有指定数据类型,而是代表你声明它们为变体。就我个人而言,我一直认为这种行为是邪恶的。

havano 发表于 2007-10-25 11:09:41


嗨MP
老实说,在本周之前我从未听说过Global,我们已经尝试过Public,我尝试过在声明部分声明所有双变量,这应该使它们公开,但两种方法都不起作用。
我的老板确实处理了这一部分的编码,他说Global是他的全部工作,他是一个非常好的程序员,所以我完全尊重他的结果。
当然,可能还有另一种方式我们只是没有抓住,但Public在这种情况下不起作用。
至于Variant;仅在没有分配数据类型时才假设变体。
Variant也是我认为内存最密集的数据类型
Mark

havano 发表于 2007-10-25 11:18:01

嗨ML,
我前段时间犯了一个类似的错误,并在这个论坛上得到了纠正。我像你一样声明了一堆变量,用逗号分隔,假设以“as Variabletype”结尾意味着将该行之前的所有变量声明为该变量类型(Long或Byte或String或其他)。相反,只有最后一个变量被声明为所需的变量类型,其余的被声明为Variant。
为Autocad对象使用Variant输入需要特定变量类型的变量将导致错误。

havano 发表于 2007-10-28 20:03:20

嘿,哈瓦诺,这很有趣,你是说所有的数据类型都是这样吗?
换句话说,我过去已经成功地以线性方向声明了变量(相同数据类型)。Dim CurrPath1,CurrPath2,CurrPath3,CurrPath4作为字符串
并且没有问题。
在上周之前,我从未尝试使用Double数据类型。
因此,为了测试这一理论,我建议您(我们)尝试像这样将第1层、第2层、第3层、第4层定义为acadlayer
显然,您需要编写更多的代码,但我相信所有4层都将被识别为acad层,而不是变体类型。如果您是正确的,那么只有最后一个将被识别为acad图层,前3个将会出错。如果时间允许,让我们看看会发生什么

havano 发表于 2007-10-29 09:40:44

嗯,请上校原谅,但我已经告诉过你了。

havano 发表于 2007-10-29 10:11:21

经过测试,l1-l3 是变体
页: [1] 2
查看完整版本: 使用全局变量声明变量