【问题标题】:Winsock Error 429: activeX component can't create objectWinsock 错误 429:activeX 组件无法创建对象
【发布时间】: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

【问题讨论】:

    标签: vb6 activex winsock tcpclient


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 2013-04-13
      • 2011-02-08
      • 2015-04-24
      • 2016-04-24
      • 2021-08-04
      • 2018-11-09
      • 1970-01-01
      相关资源
      最近更新 更多