调用动态库时如何解决窗口重画的问题。(100分)

  • 主题发起人 主题发起人 sunnysheng
  • 开始时间 开始时间
S

sunnysheng

Unregistered / Unconfirmed
GUEST, unregistred user!
我编了一个动态库函数是用来读写串口数据的,在串口中无数据时则等待,函数返回读出的数据或写串口成功与否的状态,想在主程序调用dll 时,再跳出一个等待窗口,并且显示进度条,但是一旦执行dll 函数时,主窗口便无法拖动,更不用说显示等待窗口了。请问如何解决。谢谢。
 
//我编了一个动态库函数是用来读写串口数据的
那是你的动态库函数写的不好,最后用线程去读,不然你的动态库根本没法用。
 
thx1180
我也想学学怎么用线程读
麻烦给个DEMO
 
首先谢谢thx1180的回复。但我有个疑问,就是我的dll函数是要有返回值才可以进行下一步
操作的啊。在dll中调用线程的程序还是要等待线程的返回才可以判断dll的返回值的啊。
请指教。
 
可以看看Spcomm控件,这个是用线程读的,程序中只要很少的代码就OK了。Spcomm在COM口有数据进入时会触发事件,我觉得这可以作为楼主所要的返回值。
 
Spcomm控件在哪里可以找到?
我对这个不太熟悉。
要不发一份给我C96301@sina.com.
 
Spcomm控件在哪里可以找到?
qwfyand@sina.com
 
//但我有个疑问,就是我的dll函数是要有返回值才可以进行下一步
操作的啊。
你可以直接返回,用回调函数返回数据
 
关于SpComm,随便找个搜索引擎搜索一下都能找出一大堆。。。
 
为了解决这个问题,我没有在动态库中用线程,而是在主调程序中把dll中的函数放在了线程中。这是我没有办法的办法。
thx1180:你说的用线程收,能不能具体点啊,如果我不写动态库的话,一直是用的这个串口控件,我把它的代码都打出来看了,看不懂,不好意思,只好麻烦你能否具体点呢,谢谢你。
pihome:回调函数怎么做,能否具体点。谢谢。
 
后退
顶部