对象名称变为小写

时间:2017-06-24 09:40:45

标签: vb6

我有一些代码已经在多个安装中工作了大约一年。今天我对一个控件做了一个小改动,然后另一个控件似乎已经出现了问题。在运行时,我得到一个91错误对象变量或没有设置块变量。

因此我查看了问题行: -

If Screen.ActiveForm.name = "frmFoutmelding" Then Exit Sub

所以我注意到这个名字是小写的。如果我删除.name并重新输入" dot"然后它告诉我我可以使用.Name但是一旦我从这一行移动它就会回到.name

我已经检查了名称的实例,它出现在不同模块的代码中的任何地方,但我无法找到我是否在任何地方意外定义了这个小写名称?

谷歌搜索似乎没有显示多少,但我觉得我在谷歌搜索错误的术语

chaps - 感谢您的建议 - 这是小写名称的第一个实例,并且正如Jim所建议的那样搜索并没有透露任何我害怕的内容。我发现的是,在任何表格实际显示之前突然被运行,因此计数为0.因此,如果它= 0则检查表格计数并退出子,然后如果不进行则执行错误在我认为我遇到问题的那条线上。

2 个答案:

答案 0 :(得分:1)

您可能创建了一个名为(小写)name的新变量或属性,或者某些包含的引用也是如此。在某些情况下,可以使用保留字作为变量名,但需要采取特定步骤。

我首先会在您的代码中搜索name As的实例,看看您是否创建了一个变量(假设您使用Option Explicit,这是必须的IMO)。然后使用*作为通配符搜索Property*name

如果这些失败,您可以尝试取消选中引用或组件,以查看是否有任何定义name。如果没有找到任何内容,请回复此处。

答案 1 :(得分:0)

Jim Mack介绍了很多潜在的问题。我认为另一种情况是,如果你在同一代码模块中的某个时刻输入与Activeform关联的小写“.name” - VB6 IDE将检查当前模块并使用它来定义要使用的案例。进一步查看相同的代码模块(子或函数)。

最后,通过比较文件比较工具(例如windiff)中的旧源和新源来检查您所做的更改 - 你确实有备份,对吗?