代码之家  ›  专栏  ›  技术社区  ›  systempuntoout

在visual basic 6中如何避免子签名参数的自动重命名

  •  3
  • systempuntoout  · 技术社区  · 15 年前

    在VisualBasic6中,我声明了这样一个Sub:

    Private Sub test1(ByRef XmlFooOutput As String)
      ...
    End Sub
    

    之后,我宣布另一款潜艇如下:

    Private Sub test2(ByRef xmlFooOutput As String)
      ...
    End Sub
    

    自动地,第一种方法转换为:

    Private Sub test1(ByVal xmlFooOutput As String)
       ...
    End Sub
    

    所以xmlfoooutput参数在xmlfoooutput中转换。

    这是一个非常危险的特性,因为这些方法可以映射到通过xpath读取xml值的不同xsl表示文件。 因此,当重命名test1参数时,绑定到test1方法的xsl将断开,因为xpath指向xmlfoout,但正确的值现在在xmlfoooutput中。

    有可能删除这个奇怪的功能吗? 我正在使用Microsoft Visual Basic 6.0(SP6)。

    这个问题有些重复:

    据我所见,没有实际的解决方案来禁用这个智能感知的邪恶功能。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Community CDub    7 年前

    变量名和其他标识符的大小写与语言完全没有区别-vb6是 不区分大小写 .

    我同意当ide自动改变标识符的大小写时会很烦人。已经详细讨论了可能的解决办法 in this question .

        2
  •  0
  •   quamrana Ryuzaki L    15 年前

    这是visual basic的一个特性,可能源于quickbasic,正如有人指出的,它源于名称中的大小写不敏感。

    我尝试了op和vb6的例子来更改 test1() 如前所述。

    无法删除此功能-您必须找到解决此问题的其他方法。