|
1
8
您可以使用任意多的线程。然而,你必须遵守VCL的规则。具体来说,您只能从主线程访问VCL组件。你的代码打破了这个规则。
每当您想从线程访问VCL组件时,请使用
看着你的代码,如果你真的想在每次定时器启动时创建一个新线程,我会很惊讶。你真的打算这么做吗?以及使用
说了所有这些,如果你愿意的话,你可以用计时器完美地编写代码,并且避免使用任何线程。您需要声明两个计数器,每次触发计时器过程时都会递增这些计数器。例如:
然后,当您想开始计数时,请初始化计数器并启动计时器:
每当计时器触发您的增量时,计数器就会启动。当计数器达到上限值时,停止计数器。
|
|
|
2
3
您的代码,带有仅在主线程中执行UI操作的更正。它对我有效:
我没有更改你的代码中的任何其他内容,但请仔细阅读大卫的答案。这里有一些你应该注意的备注。 |
|
|
3
0
亚当, 如果使用Parallel库会更容易。您的初始程序如下:
|
|
|
4
0
根据@GabrielF的回复,我添加了一个ttimer,并制作了一个完整的代码来复制和传递:
也许这对某人有帮助。我在Delphi7上编写并测试了它。 |
|
|
Some1Else · 函数在Delphi中重新创建TForm 3 年前 |
|
|
Agmcz · Delphi安卓库。so未安装(AAB) 3 年前 |
|
|
nader · 如何使用delphi在web上提交表单 7 年前 |
|
|
kwadratens · Delphi中的卡方分布函数代码 7 年前 |
|
|
user9672569 · 如何在完整的位图图像中绘制阴影效果? 7 年前 |
|
|
mmmm · MSBuild(用于Delphi)Make-like功能 7 年前 |