2014-08-29 67 views
1

我有一个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 

回答

5

你已经打开了代码没有MSCOMM32.OCX文件或不正确注册OCX文件的机器。

当vb无法引用ocx时,它会将相关控件转换为图片框控件。

您需要做的是关闭项目而不保存。然后打开system32文件夹并检查mscomm32.ocx文件。如果该文件不存在,则必须从intenet下载该文件。在命令提示符下使用regsvr32命令注册文件。

在此之后,您可以打开vb6项目并开始工作。

============================================== ===========

编辑:包括在评论答案的更新,这将有助于其他用户在未来... :-)

如果方法名称没有按对已知的ocx文件(在本例中为SCom1 .FileReceive)看起来并不陌生,缺少的组件可以是自定义的ocx文件。

因此,检查工作机上或在项目文件夹中是否有任何OCX文件中的相关名存在(在这种情况下SCom.ocx)。

如果在这样的名称中存在文件,请使用regsvr32(如果未注册)注册该文件,然后将其添加到工具箱,然后用相关控件(确保名称理货)替换图片框控件。

+0

因此MSComm32.Ocx不能用于我的项目我需要MSComm.Ocx? – Luk6e 2014-08-29 14:42:44

+0

不完全。你需要有mscomm32.ocx文件。这将与你的项目一起工作。检查您的system32文件夹中是否有mscomm32.ocx。 – Rifky 2014-08-29 14:47:08

+0

我确实拥有它,它运行的机器只有mscomm32.ocx,我的机器或客户端 – Luk6e 2014-08-29 14:51:06

相关问题