首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

!delphi多线程入门有关问题

2013-07-11 
求救!delphi多线程入门问题写了个多线程实例,主要代码如下:TMyThread1 class(TMyThread)protectedproced

求救!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;

想要实现的功能是点击按钮,两个主窗口的进度条同时跑,可我得到结果是一个一个依次运行的,为什么? 多线程 Delphi
[解决办法]
代码只有线程1
procedure TMyThread1.Execute; 
begin    
Synchronize(SetPb); 
end; 
这里用了同步,可能是这个原因
[解决办法]
代码不全,全部都发上来吧。
[解决办法]


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

热点排行