1、既然都是无窗体的,就不要浪费资源了,直接从TComponent继承。
2、既然是两个类,那么假设一个叫TCreateTimer一个叫TControlTimer。那么你不妨在TCreateTimer中Published一个TControlTimer的属性,就像DBEdit的Datasource一样,象钩子一样勾住控制类。
3、每创建一个Timer,就可以检查是否有控制类勾住,如果有可以及时通知控制类。那么控制类根据需要来操作,或者杀掉这些定时器。
2、既然是两个类,那么假设一个叫TCreateTimer一个叫TControlTimer。那么你不妨在TCreateTimer中Published一个TControlTimer的属性,就像DBEdit的Datasource一样,象钩子一样勾住控制类。
3、每创建一个Timer,就可以检查是否有控制类勾住,如果有可以及时通知控制类。那么控制类根据需要来操作,或者杀掉这些定时器。
解决方案 »
- Edit2.Text中显示ADOQuery1的内容
- 找错!添加BLOB字段的时候怎么会出现'无法在关闭的数据集上操作'
- DbGrid控件编辑带小数纪录的小数位时候,如何改变编辑框光标"I"为一个很小的"▲"光标,以便区分小数位
- 请问delphi中如何才能获得窗体的坐标??
- 在table中我想按字段的前三位进行过滤我设filter:=copy(字段,1,3)出来的结果是 can't find field copy!! 我该怎么办?50分
- delphi中的报表控件问题
- 好消息,Borland Delphi专业培训认证体系首次登陆中国!!!
- 请问.mdb数据库文件,要完成两个数据库导入,各位用的什么方法?(要效率高的呀!)
- 怎样显示一个提示
- 林子 and 东北人 ,,我来问一个简单问题。。
- 给分的问题
- 菜鸟问题:如何使Label在鼠标进入时发生变化?
首先感谢你回答. 控制类是核心,被发送类钩住.感觉上有点本未倒置. 程序原意: 当发送器发送消息后.启动一定时器.当发出的消息在定时器设定范围内未返回消息.定时器消息触发控制类驱动发送器重发.
我的想法是:
1、由于需要接收消息,可能控件要从TWinControl继承,而不是TComponent。
2、在控制类里面需要有OnTimer的处理函数。如果该函数被触发就需要检查消息是否返回,如果没有返回,再次重发。否则给你的触发器打上释放标记,由其他函数释放Timer。
3、由于你可能会有多个消息同时处理,需要有一个List来包容每个Timer,给每个Timer编上ID,以方便查找(可以考虑用Pooling的概念,这样效率会高些)
抱歉,我没有QQ。
对于嵌入OnTimer处理句柄.
我大概试了一下,没成功. 可以用其它方法实现吗?