所以我知道下面的代码可行。目的是在秤和计算机之间创建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
答案 0 :(得分:1)
控件不存在或存在但未在新机器上注册。
mswinsck.ocx
从*系统目录复制到新计算机*系统目录regsvr32.exe c:\whatever\mswinsck.ocx
* \System32
或\SysWoW64
。
答案 1 :(得分:0)
由于Winsock没有许可证,我在网上找到了许可证。我只是运行这个程序,瞧! Winsock工作了。谢谢!
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4860&lngWId=1