Raf*_*ael 1 delphi multithreading delphi-7
我试图创建一个运行时线程,但线程表现得很奇怪,代码没有画布引用.
procedure TBruteThread.Execute;
var
j: Integer;
begin
inherited;
FreeOnTerminate:=True;
for j:=1 to StrToInt(Form1.Edit1.Text) do begin
if Terminated then break;
Form1.Label2.Caption:=IntToStr(j);
end;
Form1.Label2.Caption:='Thread is destroyed';
Self.Terminate;
end;
Run Code Online (Sandbox Code Playgroud)

有人有任何想法解决这个奇怪的问题吗?
您的代码的问题在于它违反了VCL线程规则.必须从主线程访问VCL组件.使用Synchronize或Queue(TThread的方法)在主线程上执行GUI更新.
其他的建议:
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |