Winsock 错误 429:activeX 组件无法创建对象

Posted

技术标签:

【中文标题】Winsock 错误 429:activeX 组件无法创建对象【英文标题】:Winsock Error 429: activeX component can't create object 【发布时间】:2015-07-15 19:15:12 【问题描述】:

所以我知道下面的代码有效。目的是在天平和计算机之间建立一个 tcp 以太网连接,这样当在天平上读取重量时,只需按一下按钮,就会在计算机上显示该值。我将此代码复制到刚刚为我成像的新实验室机器上。至于winsock,我在运行时通过将其添加到引用中来动态创建它。我知道这不是我应该做的(见:https://support.microsoft.com/en-us/kb/313984)。

在 CFixPicture_Initialize 函数处设置断点时,代码命中“set tcpC = new Winsock”行并中断并出现错误 429:avtiveX 组件无法创建对象。有人对我如何获得这个许可证/让这个 Winsock 控件工作有任何想法吗?谢谢!

 Option Explicit

Private WithEvents tcpC As Winsock

Private Sub CFixPicture_Close()
    Set tcpC = Nothing
End Sub

Private Sub CFixPicture_Initialize()

    Set tcpC = New Winsock
    tcpC.LocalPort = 0
    tcpC.Connect "192.168.0.1", 8000

End Sub

Private Sub CommandButton1_click()

    On Error GoTo errHandler
   tcpC.SendData "S" & vbCrLf
Exit Sub

errHandler:
   MsgBox "error:" & Err.Description
End Sub

Private Sub tcpC_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    Dim strDataString As String
    tcpC.GetData strData
    strDataTrim = Mid(strData, 11)
    Text1.Caption = "Weight: " & vbCrLf

【问题讨论】:

【参考方案1】:

控件不存在或存在但未在新机器上注册。

mswinsck.ocx从您的*system目录复制到新机器的*system目录 以管理员身份打开控制台并运行regsvr32.exe c:\whatever\mswinsck.ocx

*\System32\SysWoW64 在 64 位 Windows 上。

【讨论】:

我试过这个,但不幸的是它没有用。我将发布我发现 DID 工作的解决方案!【参考方案2】:

由于 Winsock 没有许可证,我在网上找到了许可证。我只是运行了这个程序,瞧!温索克奏效了。谢谢!

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4860&lngWId=1

【讨论】:

以上是关于Winsock 错误 429:activeX 组件无法创建对象的主要内容,如果未能解决你的问题,请参考以下文章

使用 Excel VBA 创建 Word 应用程序:运行时错误“429”:ActiveX 组件无法创建对象

错误 429 excel vba activex CreateObject(“SAP.Functions”)

ActiveX 组件无法创建对象。 Excel VBA中的搭扣

将单元格值从 Excel 拉入 Word(运行时错误 429)

VB编写的获取网卡MAC和IP程序在没安装VB的电脑上运行出现429错误.如何解决

使用 Excel VBA 中的 VLC 播放电影