VB 实时错误 '-2147417848' (80010108) :对象'senddata'的方法 'IMSHFlexGrid' 失败
Public Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, ByVal lpParameter As Long, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public xywhExitThread As Boolean
Dim url(20) As String, Temp, dd, j, cc(200), tou, wei
Sub test()
Static i_len As Integer
Dim INByte() As Byte
Dim Buf As String, a, n
Dim btLoCRC As Byte, btHiCRC As Byte
Dim Data As Integer
l = 0
url(0) = 20002
getd url(0) '这里调用另一模块的方法
Do While l = 0
Form1.Controls("Winsock" & 2).SendData bisend
te: Sleep 1300
i_len = Winsock2.BytesReceived
If i_len = 0 Then
GoTo te
Form1.Shape2.BackColor = &H8000000F
Form1.Command7.Caption = "开始监听"
'Exit Sub
End If
If i_len > 10 Then
Form1.Shape2.BackColor = &HFF00&
Form1.Command7.Caption = "停止监听"
End If
If Buf = a7 Then wmFF (16022)
If Len(Buf) > 25 Then
Form1.Winsock2.GetData INByte
If INByte(1) = 3 Then '读寄存器
'CRC校验
crc = CRC16(INByte, UBound(INByte) - LBound(INByte) - 1, btLoCRC, btHiCRC)
If INByte(UBound(INByte) - 1) = btLoCRC And INByte(UBound(INByte)) = btHiCRC Then
For i = 3 To UBound(INByte) - 2 Step 2
Data = "&h" + Hex(INByte(i)) + Hex(INByte(i + 1))
Buf = Buf + Str(Data) '转换为十进制显示
Next i
Form1.Text6.Text = Text6.Text & Buf
n = chrasc(Buf)
a = Left(n, 2)
Select Case a
Case "$$"
uid2 = Left(n, 6)
url(0) = 20202
GoTo re1
Case "Q0"
num2 = n
a7 = Buf
url(0) = 20202
GoTo re1
End Select
End If
re1: If uid2 <> "" And num2 <> "" Then
Exit Do
Form1.read (2)
Exit Sub
End If
End If
End If
Loop
End Sub
另一模块的getd方法
Public Function getd(sr As String)
Dim bisend() As Byte
Dim crc, X, Y
Dim btLoCRC As Byte, btHiCRC As Byte
Dim Data As Integer
ReDim bisend(7)
X = Left(sr, 4)
Y = Mid(sr, 5, Len(sr))
A1 = Hex(&H8000& + CLng(X))
A2 = Mid(A1, 1, 2)
A3 = Mid(A1, 3, 2)
bisend(0) = "&h" + Hex(2)
bisend(1) = "&h" + Hex(3)
bisend(2) = "&h" + A2
bisend(3) = "&h" + A3
bisend(4) = "&h" + Hex(0)
bisend(5) = "&h" + Hex(8)
crc = CRC16(bisend, 6, btLoCRC, btHiCRC)
bisend(6) = "&h" + Hex(btLoCRC)
bisend(7) = "&h" + Hex(btHiCRC)
Form1.Controls("Winsock" & Y).SendData bisend
End Function在模块 xywhThread中调用
另一模块的getd(sr As String) 会在最后一句Form1.Controls("Winsock" & Y).SendData bisend
包错
请问是什么的原因呢? 如果在FORM1窗口中调用就是正常的
相关推荐
VB中的实时错误3704解决方案:权限与资源管理
简介:在使用VB(Visual Basic)进行编程时,遇到实时错误3704通常意味着操作权限被拒绝。这常见于数据库、文件或网络资源等操作中权限设置不当。解决此问题需要检查数据库文件权限、使用正确的身份验证方式、确认运行应用程序的账户权限、在代码中进行错误处理、修改数据库访问控制、确保数据库服务运行正常、更新驱动程序以及检查代码逻辑。本文将深入探讨错误3704的具体原因及解决步骤。
宏VB的1004问题,方法作用于对象错误,如何解决?
🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
28、VB6中FileSystemObject对象的方法与属性详解
本文详细介绍了VB6中FileSystemObject对象的各种方法和属性,涵盖文件和文件夹的删除、驱动器和文件存在性检查、路径信息获取等常见操作。文章还提供了操作流程图、常见错误处理方案以及性能优化建议,帮助开发者高效稳定地进行文件系统管理。
VB错误日志实现指南:构建稳定程序
错误处理函数通常作为程序中的一个核心组件,负责捕获、记录和响应程序运行时遇到的异常情况。它的主要作用包括:捕获异常:在代码执行过程中,任何可能导致程序异常终止的错误都应该被LogError函数捕获。记录错误:捕获到异常后,函数应记录下足够的错误信息,如错误发生的时间、位置、原因等,以供后续分析和调试。通知用户:在不影响用户体验的情况下,向用户显示错误消息,并提供恢复选项。LogError函数的结构化设计包括:参数设计。
vb.net 调用wininet.dll的FTP上传文件方法失败
vb转vb.net的时候,调用wininet.dll的时候老是提示123的错误,后来改了下函数的声明:如下 Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal HINet As Integer) As Integer Public Declare Function InternetOpen Lib


VB基础类
