delphi – 如何等待变量?

前端之家收集整理的这篇文章主要介绍了delphi – 如何等待变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在一个线程中等待变量更改?例如我想等一个数字来改变.那么而不是使用Sleep()还有什么呢?
while SomeVariable > 0 do
Sleep(1);

解决方法

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

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

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

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

猜你在找的Delphi相关文章