我编的一个串口通讯的程序,接收数据的编辑框一直在显示接收到的数据!但是我现在没法按关闭串口的按钮,点一下界面,程序就死掉了,应该是程序一直在接收数据的那段函数里,所以按按钮没有反应!是不是要用多线程编啊?还是用定时器?
渴望稍微详细一点!!!
如果一两句说不清 我的QQ是:15740234
感谢感谢!!
渴望稍微详细一点!!!
如果一两句说不清 我的QQ是:15740234
感谢感谢!!
解决方案 »
- CListView怎么添加背景,用ListCtrl.SetBkImage为啥没有反应??
- 模态对话框会截取父窗口的所有消息?
- 帮我看看这段代码 Colestreamfile的问题
- CListCtrl派生类使用Create函数创建产生错误?? Release能执行,Debug时候错误???
- 如何给日期格式的字符串加上一天?
- 如何点击按纽就重命名TreeView上的某个Item,而当平时点击某个Item,不会重命名,就是不响应TVN_ENDLABELEDIT事件
- 新手提问char* 怎么删除?
- #####一个巨大的问题######关于主窗体怎么样获知子窗体数据更新的问题
- 关于消息的菜鸟问题!
- 如何一启动机器(WINDOWS)就运行自己的程序!
- 相关问题我发了很多帖了,没有人,现在问个简单的,回答了那几个贴的分都给他
- ATL编写的DLL COM组件, 开线程, VB中不能用?
设计的问题。多线程并不是必须的!在WINDOWS中,串行口通讯分为同步方式和异步方式两种(这里指的是WINDOWS函数调用方式)。同步方式下,当你调用 ReadFile 函数接收数据时,如果数据没有马上接收到,那么函数会发生阻塞,一直阻塞到你设定的时间为止。在阻塞时,窗口界面没有响应。异步方式,调用 ReadFile 函数后马上返回,而后处理是否接收到数据,窗口界面始终有响应。像楼主的问题,可能是多方面的,没看到程序,不敢断定。============================================================================只有了解WINDOWS的运行机制,才能编写出好的程序。多线程,对于初学者来说比较复杂,需要系统的学习和实验一下,只有掌握了才能用到实际的工作当中,比如串行口通讯。因为,多线程涉及到参数的传递,如何正确结束线程等多种问题,初学者一下子可能解决不了。总结:楼主功力还不够,需要快速充电!
简单的做法是COM口接收完数据后,通知应用程序,