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

时间:2015-07-15 19:15:12

标签: vb6 activex winsock tcpclient

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

在CFixPicture_Initialize函数中有一个断点,代码命中“set tcpC = new Winsock”行并且出现错误429:avtiveX componentsnet无法创建对象。有没有人对如何获得此许可证/让这个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

2 个答案:

答案 0 :(得分:1)

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

  • mswinsck.ocx从*系统目录复制到新计算机*系统目录
  • 以管理员身份打开控制台并运行regsvr32.exe c:\whatever\mswinsck.ocx
64位Windows上的

* \System32\SysWoW64

答案 1 :(得分:0)

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

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