未找到方法或数据成员编译问题
问题描述:
我有一个VB6项目,我没有创建,但我必须更新,当我去做的exe我得到一个编译错误:找不到方法或数据成员,它在下面的代码中也指向“SCom1.FileReceive”。当我查看主窗体时,SCom1控件是一个PictureBox。未找到方法或数据成员编译问题
该代码已经工作了5年,但我不知道为什么SCom1是一个图片框,或者为什么我得到错误,是否是一个参考? SCom1对我来说看起来像一个MSComm功能?让我知道如果任何人有任何想法,我只是不知道VB足够知道如何解决这个问题。由于
If SCom1.FileReceive = True Then
WriteToLog (Now() & " FileReceive was true, now false")
SCom1.FileReceive = False
End If
答
你已经打开了代码没有MSCOMM32.OCX文件或不正确注册OCX文件的机器。
当vb无法引用ocx时,它会将相关控件转换为图片框控件。
您需要做的是关闭项目而不保存。然后打开system32文件夹并检查mscomm32.ocx文件。如果该文件不存在,则必须从intenet下载该文件。在命令提示符下使用regsvr32命令注册文件。
在此之后,您可以打开vb6项目并开始工作。
============================================== ===========
编辑:包括在评论答案的更新,这将有助于其他用户在未来... :-)
如果方法名称没有按对已知的ocx文件(在本例中为SCom1
.FileReceive)看起来并不陌生,缺少的组件可以是自定义的ocx文件。
因此,检查工作机上或在项目文件夹中是否有任何OCX文件中的相关名存在(在这种情况下SCom.ocx
)。
如果在这样的名称中存在文件,请使用regsvr32(如果未注册)注册该文件,然后将其添加到工具箱,然后用相关控件(确保名称理货)替换图片框控件。
因此MSComm32.Ocx不能用于我的项目我需要MSComm.Ocx? – Luk6e 2014-08-29 14:42:44
不完全。你需要有mscomm32.ocx文件。这将与你的项目一起工作。检查您的system32文件夹中是否有mscomm32.ocx。 – Rifky 2014-08-29 14:47:08
我确实拥有它,它运行的机器只有mscomm32.ocx,我的机器或客户端 – Luk6e 2014-08-29 14:51:06