首先,感谢您花时间看一下我的帖子,并帮助我解决我遇到的这个问题。来自ocx库的只读属性很奇怪的问题?
我已经搜索,阅读了很多帖子,我还没有找到一个好的答案,并且我的代码保持失败,这是我的情况:我有一个OCX库(.ocx文件),我添加了该引用到我的VB.NET 2008应用程序MSDN建议,该库是假设发送命令打印机,完美我可以打开我的端口,并发送我的命令完美,但是发生的是,在发送下一个命令之前,我必须等到打印机会改变它的状态(从繁忙到空闲),但是我无法获得正确等待的代码,我想确定问题是出现在库还是我的代码中,因此我添加了一个手表以查看该变量如果它真的发生变化,它是做什么的,所以我没有什么是怎么回事的想法,让我你你我的代码:
AxEpsonFPHostControl1.CommPort = EpsonFPHostControlX.TxCommPort.Com1 'Set my com port
AxEpsonFPHostControl1.BaudRate = EpsonFPHostControlX.TxBaudRate.br9600 ' set my baud rate
AxEpsonFPHostControl1.ProtocolType = EpsonFPHostControlX.TxProtocolType.protocol_Extended
AxEpsonFPHostControl1.OpenPort() ' I open my port
OpenTicket(params) ' Here I send a command, you can ignore the parameters
FPDelayNew() ' Here I TRY to create a delay that waits until the printer change from busy to Idle
SendItem(params) ' Here I send a command, you can ignore the parameters
FPDelayNew() ' Here I TRY to create a delay that waits until the printer change from busy to Idle
AxEpsonFPHostControl1.ClosePort()
我已经尝试了很多东西,我试过的事情之一是这样的: 只要你知道 AxEpsonFPHostControl1.CtlState
是
Public Overridable Readonly Property CtlState() As EpsonFPHostControlX.TxFiscalState according to visual studio when I hover over.
而且
EpsonFPHostControlX.TxFiscalState.EFP_S_Busy
仅仅是EFP_S_Busy为2时的一个枚举0
这是我试过的延迟:
Public Sub FPDelayNew()
While AxEpsonFPHostControl1.CtlState = EpsonFPHostControlX.TxFiscalState.EFP_S_Busy
System.Threading.Thread.Sleep(0)
End While
End Sub
它不会在所有的工作,有时程序将只执行此方法快速度,或者如果我用一个破发点的应用程序将只是挂,当我运行这种方法一步一步,所以我没有线索,这是怎么回事。
我已经尝试过的手表,以检查是否AxEpsonFPHostControl1.CtlState没有改变它的状态,它这样做。
试图与事件,与此相同,用做until..loop和相同的尝试,我希望我可以找到谁可以帮我这个问题,最好的问候!
我终于找到了一个解决方案,如果你需要使用这个库帮助可以联系我[email protected]
只需发布答案,在此留下您的电子邮件地址并不合适。 –