美好的一天如何解決VB6中的運行時錯誤8015?
我試圖發送數據到comport「COM1」。通用打印機驅動程序在comport「COM1」上設置。在向此端口發送數據時,我收到運行時錯誤「8015:無法設置通信狀態,可能有一個或多個無效通信參數」。點擊確定後,出現錯誤消息,我得到另一個錯誤,運行時錯誤'8018:操作僅在端口打開時有效'。我相信這個問題可以解決,因爲在命令提示符中,我可以使用命令「copy C:\ textfile.txt COM1」將文本文件複製到端口,並且它沒有任何問題。那是我的情況。
我已經試過的方法如下:
- 使用MSComm控件(產生上述錯誤)
- 採用windows API調用(這給了不同的錯誤「無效函數」) API鏈接:http://www.thescarms.com/vbasic/CommIO.aspx
- 使用shell功能殼CMD.EXE與「複製」命令(這種方法可行 當它要)
- 使用VB6e FileCopy()函數時不copyi工作ng到端口
我相信能回答這個問題的人是深入瞭解COM端口通信信息的人,並深入瞭解Windows複製命令的相關信息。
我在某個論壇上看過(我經歷過太多次了),如果你刪除插件並插回去,它就可以解決這個問題。我還沒有嘗試過,但我已嘗試關閉設備並將其放回,我相信這是相同的事情。
如果任何人都可以用這個問題將是非常讚賞
幫助這裏也許是一個很有趣的鏈接:
感謝,
約爾
按照Beaner的要求:
這是我正在使用的代碼片段。
MSComm1.PortOpen = True
執行:
Private Sub Initialize_COMPort()
On Error GoTo COMPort_Error
If MSComm1.PortOpen Then
MsgBox "Port is opened"
MSComm1.PortOpen = False
End If
MSComm1.Settings = "9600,n,8,1"
MSComm1.CommPort = Val(CbCOMPorts.ListIndex) + 1
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
MSComm1.Handshaking = comXOnXoff
Exit Sub
COMPort_Error:
MsgBox Err.Number & " - " & Err.Description, vbCritical + vbOKOnly, "Port Tester", Err.HelpFile, Err.HelpContext
End Sub
該錯誤時,會發生。
@Hrqls我很欣賞代碼,但是您給我的代碼與頭腦類似,執行時錯誤仍然存在。在同一份聲明
.PortOpen = True
@Hrqls我還沒有嘗試使用打印機控制之前但是這個裝置實際上不是一個文本打印機是一個卡壓花出現的錯誤。它的「Matica Z3i AF」embosser我目前正在使用的程序將用於浮雕卡片。
當前使用的方法是使用embosser是一個批處理文件,該文件基本上運行文本文件的「複製」命令,其中卡信息以embosser所能理解的格式打印。
我會嘗試使用打印機控件,直到那時感謝您的回覆,並且如果問題得到解決,我會讓所有人保持最新狀態。
您可以發佈相關的代碼輸出? – jac
@Beaner我編輯了原始文章的代碼 – user1803784