使用mscomm控件通过VB发送打印命令 它工作正常,但它会引发错误:
'4行clode在
之下MSComm1.CommPort = 1
MSComm1.Settings = "9600 ,N,8,1"
MSComm1.PortOpen = False
MSComm1.Output = "String to hardware"
错误:(8015)无法设置通信状态,可能存在一个或多个无效通信参数。
答案 0 :(得分:2)
由于您的端口已关闭,因此无效。
第3行应如下:
MSComm1.PortOpen = True
将PortOpen
proptery设置为true
会打开端口。将其设置为false
会将其关闭。
答案 1 :(得分:2)
尝试与外部硬件通信时,我发生了同样的8015错误。我在主板上只有COM1,我在COM1中安装了EPSON TM-T88III,但没有使用它。
我将打印机中的COM端口更改为COM4(虽然它在物理上不存在)并且vo:我的VB6程序没有问题地打开COM1。
Bottomline:Doublecheck没有其他硬件或驱动程序打开端口,因此阻止它,即使您没有明确使用其他硬件或驱动程序。
底线2:确保MSComm1.PortOpen = False
更改为MSComm1.PortOpen = True
,否则您将无法进行任何通信!
答案 2 :(得分:0)
不要在端口COM1上设置打印机。 COM1端口将被COM1端口中的打印机占用。使用Visual Basic MSCOMM组件时,您不需要任何打印机驱动程序。如果您在COM1端口中设置打印机。您可以使用以下代码。此代码不会受打印机设置的影响。
Visual Basic:为输出AS#1打开“COM1”
答案 3 :(得分:0)
卸载com1的驱动程序,然后重启windows,然后尝试。它会起作用