刚接触线程编程,请高手给个我在生成一个窗体的同时运行另外一个窗体内的内容的例子!!,正急用,多谢!!!!!!!!在线等!!

解决方案 »

  1.   

    //线程.pas
    unit Unit2;interfaceuses
      Classes,comCtrls,Forms,Windows;type
      TMyThread = class(TThread)
      private
        { Private declarations }  protected
        procedure Execute;override;
      end;  TnewThread = Class(TMyThread)
      ab: string;
      private
        {}
         procedure DoInsert(a: string);
      protected
        {}
        procedure Execute;override;
      end;implementationuses Unit1;
    procedure TnewThread.DoInsert(a: string);
    var
      I: Integer;
      lvItem: TListItem;
    Begin
      for I := 0 to 20 do
      Begin
          lvItem := Form1.ListView1.Items.Add();
          lvItem.Caption := a;
          lvItem.SubItems.Add('B');
          Sleep(200);
      End;
    edite
      Application.MessageBox('a','a',MB_OK);
    End;
    procedure TMyThread.Execute;
    begin
      { Place thread code here }
      //Inherited;
      //FreeOnTerminate := true;
     // DoInsert('a');
    end;procedure TnewThread.Execute;
    begin
      { Place thread code here }
      Inherited;
      FreeOnTerminate := true;
      DoInsert(ab);
    end;end.
    //主窗体.pas
    uses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    VAR
      aThread: TnewThread;
    begin
      aThread := TnewThread.Create(false);
      aThread.ab := 'aaa';
      aThread.Priority := tpNormal;
      aThread.Resume;
    end;
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        ScrollBar1: TScrollBar;
        Label1: TLabel;
        Label2: TLabel;
        ScrollBar2: TScrollBar;
        Button5: TButton;
        Button6: TButton;
        Button7: TButton;
        Edit1: TEdit;
        Edit2: TEdit;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure Button7Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
      Thread = class(TThread)
         editt:Tedit;
         ScrollBarr:TScrollBar;
         ss:string;
      private
        { Private declarations }
      protected
        procedure Execute; override;
      public
        procedure ww;    constructor Create(edit: TEdit;scrollbar: TScrollBar); virtual;
      end;var
      Form1: TForm1;
          th1:Thread;
          th3:Thread;
    implementation{$R *.dfm}
    procedure Thread.ww;
    begin
      editt.Text:=ss;
      scrollbarr.Position:=strtoint(ss);
    end;
    constructor Thread.Create(edit: TEdit;scrollbar: TScrollBar);//线程构造函数
    begin
       editt := edit;
       scrollbarr:=scrollbar;
       inherited Create(True);
       FreeOnTerminate:= False;end;
    procedure Thread.Execute;{ 执行线程 }
    var a:integer;
    begin
         for a:=0 to 100000 do
         begin
               ss:=inttostr(a);
              Synchronize(ww);
         end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      th1:= Thread.Create(edit1,scrollbar1); //创建了线程1end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      showmessage('dfdf');
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
         th1.Suspend;
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
       th1.Resume;
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
          th1.Resume;
          th3.Resume;
          th3.Terminate;
          th1.Terminate;
          th3.Destroy; { 销毁线程 }
          th1.Destroy;
    end;procedure TForm1.Button7Click(Sender: TObject);
    begin
     th3.Resume;
    end;procedure TForm1.Button6Click(Sender: TObject);
    begin
      th3.Suspend;
    end;procedure TForm1.Button5Click(Sender: TObject);
    begin
      th3:= Thread.Create(edit2,scrollbar2);
    end;end.
      

  3.   

    C:\Program Files\Borland\Delphi5\Demos\Threads
    C:\Program Files\Borland\Delphi6\Demos\Threads
    C:\Program Files\Borland\Delphi7\Demos\Threads