今天对自己控件中的变量C进行检查,原来我全部定义成大写的C,后来VB自动变成小写的c,虽然对程序的执行没有任何影响,但看了总是不舒服。
我先是找了所有的有关C的定义语句,然后尾部全部加上空格,再全部保存。这样文件中保存的确实是大写的C了,再打开工程,但VB马上又转为小写的c。
我再进行整个目录搜索,搜索“ c ”与“ c.”这两项,又发现了传参数时有(ByRef C As...)的形式,还有连续定义中也有:Dim b As String, c As String。这两种就不是我第一步找的“Dim c As”的形式。
把这些都改正后,再打开VB,结果还是如此,我以为是以前的版本造成的影响,于是把控件再编译过一遍,但结果仍然如此。
后来,我只好用排除法,先把界面类的排除在控件体系,再排除模块类的,此时发现VB不会自动把我的C转为c了,再把模块类进行二分排除,最后找到罪魁祸首是拷贝别人的一段代码中,别人的定义居然参数不用说明ByVal还是ByRef,而是直接(c As String)。所以我的搜索失效。
改正后,就OK了。