VB转VB.NET打印问题

lxq19851204 2012-03-20 11:44:34
VB。NET中在CLASS中定义一个
Private outFile As FileStream
Private hPortP As IntPtr
Public Sub OpenPort(ByVal pPrinterPort As String)
hPort = CreateFile(pPrinterPort, GENERIC_WRITE, FILE_SHARE_WRITE, SA, OPEN_EXISTING, 0, 0)
hPortP = New IntPtr(hPort)
outFile = New FileStream(hPortP, FileAccess.Write)
End Sub
Public Sub PrintLine(ByVal pLine As String)
Dim fileWriter As New StreamWriter(outFile)
fileWriter.Write(pLine)
fileWriter.Flush()
fileWriter.Close()
End Sub
Public Sub ClosePort()
FileClose(iPort)
outFile.Close()
retval = CloseHandle(hPort)
End Sub

在程序中调用打印命令
OpenPort("COM1")
PrintLine("")
PrintLine("ABC") '每次执行到这一步就出错。
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jygongweibin 2012-03-22
  • 打赏
  • 举报
回复
就是这样 先不要关闭filewriter
冰镇宝贝321 2012-03-21
  • 打赏
  • 举报
回复
fileWriter.Close() 先不要关闭。

执行完在close
vinjent 2012-03-21
  • 打赏
  • 举报
回复
Dim Fileinfo As New FileInfo(filename)
Dim fileWriter As StreamWriter=fileinfo.CreateText()
'若要覆寫使用AppendText()
fileWriter.Write(pLine)
'若是寫一行後跳行使用WriteLine(pLine)
fileWriter.Flush()
fileWriter.Close()
沐NeMo 2012-03-20
  • 打赏
  • 举报
回复
fileWriter.Close() 先不要关闭。写完所有在关闭。
--
或者直接执行:
OpenPort("COM1")
PrintLine("ABC")
--
我打印少用你这种打印法。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧