【问题标题】:Very strange issue with read only property from ocx library?ocx 库中只读属性的非常奇怪的问题?
【发布时间】:2013-12-13 22:36:40
【问题描述】:

首先,感谢您抽出宝贵时间查看我的帖子,并帮助我解决这个问题。

我已经搜索,阅读了很多帖子,但我没有找到一个好的答案,我的代码一直失败,这是我的情况:我有一个 OCX 库(.ocx 文件),我正在将该引用添加到正如 MSDN 建议的那样,我的 VB.NET 2008 应用程序,该库假设将命令发送到打印机,完美我可以打开我的端口并完美地发送我的命令,但是发生的事情是,在我发送下一个命令之前,我必须等到打印机更改其状态(从忙碌到空闲),但我无法获得正确等待的代码,我想确定问题出在库还是我的代码上,所以我在该变量中添加了一个监视以查看是否它真的在改变,它正在这样做,所以我不知道这里发生了什么,让我给你我的代码:

    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()

我尝试了很多东西,我尝试的其中一件事是: 只是让你知道 AxEpsonF​​PHostControl1.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 时只是一个枚举

这就是我尝试延迟的方式:

Public Sub FPDelayNew()
    While AxEpsonFPHostControl1.CtlState = EpsonFPHostControlX.TxFiscalState.EFP_S_Busy
        System.Threading.Thread.Sleep(0)
    End While
End Sub

根本不起作用,有时程序会快速执行此方法,或者如果我使用断点,当我逐步运行此方法时应用程序会挂起,所以我不知道那是怎么回事。

我已经尝试使用手表来检查 AxEpsonF​​PHostControl1.CtlState 是否没有改变它的状态,并且它正在改变它。

尝试了一个事件,同样的,尝试了一个 do until..loop 和同样的,我希望我能找到可以帮助我的人,最好的问候!

我终于找到了解决方案,如果您需要有关此库的帮助,可以联系我 luisarmando.molina@yahoo.com

【问题讨论】:

  • 只发布答案,在这里留下您的电子邮件地址是不合适的。

标签: vb.net dll delay ocx printers


【解决方案1】:

我没有正确检查状态,您需要一遍又一遍地发送命令,直到它返回成功,这就是文档所说的,而且枚举 TxFiscalState 在 64 位计算机上根本不起作用,所以至少停止尝试我使用的库没有。

【讨论】:

    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多