现在要做的一个实时数据采集任务,需要用到多媒体定时器,根据某些资料,我在对话框中试用了一下,没有成功。我是这样做的:在对话框中的某个按钮的消息响应函数中启动定时器,每隔一定时间在对话框中的编辑框中输出一定的值。由于定时器的回调函数是一个全局的API函数,不能写在按钮的响应函数中,编写在了对话框的cpp文件中,结果在回调函数中不能使用和编辑框相关的变量,连updatedata()函数都不认识,这个问题应该怎么解决?
我查了一些资料,他们是在视的cpp文件中使用的,而且是在定时器的回调函数中产生一个自定义消息,在消息响应函数中完成自己的处理,我认为这样做还是没有发挥多媒体定时器的优点,因为他经过了消息队列,是不精确的。还有一些资料,对回调函数没有显著的介绍,是不是我遇到的这个问题不是什么大问题?那么它通常是怎么解决的?
昨天,在VC知识库发了上面这个帖子,只收到一个回复,大意是说:我遇到的这个问题不是多媒体定时其本身的问题,而是我对类、函数、变量等基本的东西没有理解好。我开始也这么认为的,并且重新回到这些基本的问题看,对MFC程序的执行顺序,类等也的确有了新的认识,只是我还是不能解决这个问题,不过倒是心中有了一些想法可以尝试。这个过程太茫然了,很期待有人一针见血的指出,少走很多弯路。
这种文章很少有人读的,写给自己吧!就当是消磨寂寞的时光。 ……07.3.20