当前位置:主页>仓库管理软件> 列表

怎样让自已定义的一个消息在自已想要能被响应的时候才能被响应 找安全生产管理软件

记账软件版1楼: 如题,一般我在PRIVATE中定义一个消息
procedure domymsg (var Msg: TMessage); Message CM_DOMYMSG;
那么程序一加载(确切的说是在程序启动后的某个地方)马上就可以响应CM_DOMYMSG消息。
但我想实现在程序的某个地方,比如说按下“往下的时间可以响应CM_DOMYMSG消息了”这个按键后,它才开始能响应消息,在这之前不能响应,怎样实现?

2楼: 一个是在Dispatch Message之前检查一下即可。另外可以增加一个标志在domymsg的最开始检查标志,如果标志不许可,则立即返回即可。 如安全生产管理软件

3楼: 最好不用标志,能不能有一种类似于在想让它从某个地方开始能响应消息的地方才定义这个消息的方法?

4楼: 参考一下:是否确定要重画的代码

5楼: 不用标志就只能限制消息源在你认为合适的时候发送这个消息出来了。

6楼: 消息源在另一个程序中发出,它的发出时间不可预料,我实际碰到的问题就是,在我的这个程序中,在消息处理中用到一些TSTRINGLIST,在我的程序开始运行,这些TSTRINGLIST还未来得及CREATE,消息就被响应了,所以就报错。

记账软件版7楼: 在自己程序中加一个布尔类型的标志吧,这样处理最简单。

8楼: 接受答案了.