我的应用程序(winform)必须访问串口上的设备。所有的通信东西放在一个DLL,它处理所有的串口通信,并且必须将串行设备的响应返回到主应用程序。 如何让主应用程序等待dll的响应以继续接收数据?暂停主程序等待DLL响应
0
A
回答
1
它取决于该DLL公开的API。如果他们提供同步API,则根本不需要任何暂停。你的线程将进入dll代码,当它返回到你的代码结果将在那里。
但是,如果API是异步应该是轮询方法或回调。
无论如何,如果你提供API的代码,我将能够给出更多相关的答案。
0
如果有问题的dll代码是异步的,则线程连接可能会发挥作用。无论如何,您是否可以访问用于读取串口的底层线程?
0
如果API是同步的,则在另一个线程中调用API。当您启动该线程时,禁用UI中的所有相关控件(或禁用整个表单;但这通常不是一种好的用户体验),并提供某种通知(例如状态栏上的文本)。当API返回时通知UI线程已完成并重新启用控件并向用户提供一些通知。
如果API是异步的,请禁用控件,提供状态并调用API。当API通知您它已完成(或失败)时,重新启用控件并提供状态。
相关问题
- 1. cordova angularjs强制应用程序暂停等待用户权限
- 2. 如何在等待UIAlertView响应时暂停代码执行?
- 3. 睡眠/等待/暂停javascript
- 4. 等待/暂停C秒数
- 5. 暂停/杀死和等待线程
- 6. 我如何让主线程暂停,等待System.Timer.Timer运行
- 7. 等待的线程响应
- 8. TCP响应暂停
- 9. 暂停Servlet响应
- 10. 如何在等待图像加载时暂停程序
- 11. 等待子窗口输入时暂停程序
- 12. 程序暂停,等待用户整理功能
- 13. 主线程暂停
- 14. 如何在不暂停主线程的情况下通知等待线程?
- 15. SerialPort等待响应
- 16. JS等待响应
- 17. DOM风格变化等待暂停
- 18. tcl暂停和等待按键继续
- 19. 需要objective-c暂停/等待功能
- 20. 暂停python并等待Matplotlib事件
- 21. 连续任务等待并暂停
- 22. 暂停/等待* .bat完成VB.net
- 23. 有条件暂停Javascript等待ajax
- 24. 消息框,而不等待或暂停
- 25. 等待屏幕,等待响应
- 26. 暂停应用程序
- 27. Qt应用程序暂停
- 28. 编程等待Web服务响应的Web应用程序
- 29. 如果一个线程正在console.readline上等待线程暂停?
- 30. 使主程序等待线程完成
事件驱动的方法通常比等待好得多。如果等待时间过长,您的应用程序可能会冻结,Windows可能会提供杀死它的信息。 – 2012-07-30 14:24:38