未找到方法或数据成员编译问题

Luk*_*k6e 1 vb6 datamember

我有一个VB6项目,我没有创建,但我必须更新,当我去做exe我得到一个编译错误:找不到方法或数据成员,它在下面的代码中也指向"SCom1.FileReceive" .当我查看Main表单时,SCom1控件是PictureBox.

这段代码已经工作了5年,但我不知道为什么SCom1是一个图片框,或者为什么我收到错误,它是一个参考?我的SCom1看起来像MSComm功能?让我知道如果有人有任何想法,我只是不知道VB足以知道如何解决这个问题.谢谢

If SCom1.FileReceive = True Then   
WriteToLog (Now() & " FileReceive was true, now false")
    SCom1.FileReceive = False
End If
Run Code Online (Sandbox Code Playgroud)

Rif*_*fky 5

您打开代码的机器没有正确注册mscomm32.ocx文件或ocx文件.

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

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

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

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

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

如果方法名称对于已知的ocx文件(在本例中为SCom1.FileReceive)看起来不熟悉,则缺少的组件可以是自定义的ocx文件.

因此,检查工作机器或项目文件夹中是否存在相关名称中的任何ocx文件(在本例中SCom.ocx).

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