您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 求救!delphi多线程入门问题

求救!delphi多线程入门问题

来源:网络整理     时间:2016/7/2 1:17:39     关键词:

关于网友提出的“ 求救!delphi多线程入门问题”问题疑问,本网通过在网上对“ 求救!delphi多线程入门问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 求救!delphi多线程入门问题
描述:

多线程Delphi

写了个多线程实例,主要代码如下:
TMyThread1 = class(TMyThread)
      protected
        procedure Execute;override;
        procedure SetPb;
      private
        i_ca:Integer;
     end;
procedure TMyThread1.Execute;
begin
    Synchronize(SetPb);
end;
procedure TMyThread1.SetPb;
var
  i:Integer;
  i_cata:Integer;
begin
  i_cata:=i_ca;
  if i_cata=1 then
  begin
  Form1.pb1.Min:=0;
  Form1.pb1.Max:=10000;
  Form1.pb1.Position:=0;
  for i:=0 to 10000 do
  begin
    Form1.pb1.StepBy(1);
  end;
  end else
  begin
     Form1.pb2.Min:=0;
  Form1.pb2.Max:=10000;
  Form1.pb2.Position:=0;
  for i:=0 to 10000 do
  begin
    Form1.pb2.StepBy(1);
  end;
  end;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
  m1:     TMyThread1;
    m2:      TMyThread1;
begin
 m1:=TMyThread1.Create(True);
 m1.i_ca:=1;
 m1.FreeOnTerminate := True;
 m1.Resume();
  m2:=TMyThread1.Create(True);
  m2.FreeOnTerminate := True;
  m2.i_ca:=2;
  m2.Resume();
end;

想要实现的功能是点击按钮,两个主窗口的进度条同时跑,可我得到结果是一个一个依次运行的,为什么?
解决方案1:

这个简单 我个人呢比较懒 给你贴个地址吧 人家大牛弄的 举一反三哦
http://www.cnblogs.com/del/archive/2009/02/11/1388700.html

解决方案2:

代码不全,全部都发上来吧。

解决方案3:

代码只有线程1
procedure TMyThread1.Execute; 
begin    
Synchronize(SetPb); 
end; 
这里用了同步,可能是这个原因


以上介绍了“ 求救!delphi多线程入门问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2195328.html

相关图片

相关文章