Показать сообщение отдельно
  #13  
Старый 27.01.2010, 23:42
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Модуль потока
Код:
unit UNewThead;
interface
uses
  Classes;
type
  TNewThead = class(TThread)
  private
    { Private declarations }
    FPos: Integer;
    procedure SetPos();
  protected
    procedure Execute; override;
  public
    constructor Create();
  end;

implementation

uses SysUtils, Unit1;// прописываем модуль Form1

{ TNewThead }
constructor TNewThead.Create;
begin
  inherited Create(true);
  FreeOnTerminate:=true;
  Priority:=tpLower;
  Resume;
end;

procedure TNewThead.Execute;
begin
  { Place thread code here }
  FreeOnTerminate:=true;
  FPos := 0;
  while FPos < 100 do
  begin
    Synchronize(SetPos);
    Inc(FPos, random(15));
    Sleep(3000);
  end;
end;

procedure TNewThead.SetPos;
begin
  Form1.ProgressBar1.Position := FPos;
  FPos := Form1.ProgressBar1.Position;
end;

end.
Сохраняешь как UNewThead.pas
В модуле второй формы
Код:
implementation
uses SysUtils, UNewThead; // прописываем модуль потока

procedure TForm2.Button1Click(Sender: TObject);
Stream: TNewThread;
begin
   Stream:=TNewThread.Create();
end;
Ответить с цитированием