微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

delphi – 如何等待变量?

如何在一个线程中等待变量更改?例如我想等一个数字来改变.那么而不是使用Sleep()还有什么呢?
while SomeVariable > 0 do
Sleep(1);

解决方法

如果您希望在发生变化时收到通知,有可能是您的朋友.

如果SomeVariable是变量而不是属性,请将其声明更改为const.这会打破写入它的所有代码.这是件好事编译器找到它,而不是你必须搜索它.然后创建一个名为SetSomeVariable的过程(暂时保留为空),并更改破坏的代码调用代码.当一切都将编译时,将SomeVariable更改回变量,实现setter例程,如果可能,封装SomeVariable,所以没有任何东西可以直接设置其值而不调用函数. (如果它是一个财产,你可以通过声明一个setter来简单地做到这一点).

一旦你有一个设置它的值的功能,你可以在过程中引入新的效果,例如设置一个TSimpleEvent的信号.(或者,如果你想要更复杂的话,如果新的值<>旧值.)

而不是睡觉,有你的代码WaitFor的事件.记得稍后重设!

原文地址:https://www.jb51.cc/delphi/102431.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐