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)