今天编写程序时遇到一个现象,就是将一个Timer控件的OnTimer事件重置到我定义的函数中,根据以往的经验很快就写好自定义函数。但这次很奇怪Timer时间到后不能跳到指定的函数。整个事件调用都是在线程类里面执行,开始以为与线程有关,于是新开一个工程,专门建立线程类测试代码,完全通过可以执行,然后检测动态生成的数组有没超出下标等,结果全部正常。最后只能一步一步地进行测试,在代码中根据运行顺序测试和设置OnTimer事件函数的指向,后来在回调函数时调用,发现不能返回到指定的OnTimer事件中,发现问题真的与回调函数有关,因为回调函数不是在类里面执行的,而是通过外部extern 引用类进行调用类里面的函数,我想结果会可能引起指针值的差错吧。而我通过外部其他调用则正常运行并实现指向到目标函数, 我想其他控件如果在这种情况下可能也会出现上述的程序 。搞了差不多一天才发现这个问题,不过总比不知所措好吧。
-Jason
