0

我的应用程序是一个 POS 系统,具有使用单个打印机的单个终端。问题是什么时候调用open(), claim()andsetDeviceEnabled(true)setDeviceEnabled(false), release()and是合适的close()。现在我在每次打印之前和之后都这样做。我是否应该通过多次打印并在一天结束时打开release()close()

4

1 回答 1

1

这取决于应用程序的软件结构。

如果使用打印机的应用程序只有一个进程,请在应用程序启动时执行一次, Open()。您可以在应用程序终止之前执行, 。Claim()DeviceEnabled=TrueDeviceEnabled=FalseRelease()Close()

如有必要,应用程序会结合TransactionPrint()RotatePrint()PrintNormal()等进行打印。

这缩短了打印所需的时间。

如果使用打印机的应用程序同时在多个进程中同时运行,则仅Open()在每个进程中运行。

如果需要打印的处理几乎保持不变,Claim()并且在获得打印机控制权的一侧与切换作业和画面的时机同时,则调用DeviceEnabled=True释放打印机控制权的一侧 With DeviceEnabled=False, 。Release()

当需要打印的过程频繁更改时Claim()DeviceEnabled=True在每次使用打印机后执行,打印完成后,当需要打印完成时DeviceEnabled=FalseRelease()保持。

于 2019-01-29T13:25:31.393 回答