Показать сообщение отдельно
  #1  
Старый 30.05.2012, 22:05
Аватар для Geref
Geref Geref вне форума
Прохожий
 
Регистрация: 22.11.2008
Сообщения: 5
Репутация: 10
По умолчанию Доступ к form2.progressbar

Добрый день!

Подскажите пожалуйста как реализовать.
Есть главная форма которая загружает файл с сети и форма2 только с progressbar. Если прогресбар лежит на главной форме то нормально отображает загрузку , если на второй форме то не реагирует.

Пробовал устанавливать таймер на форму 2
Код:
progressbar1.Position:=form1.progressbar1.Position;
но это извращение )

Код:
 uses unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var  LoadStream: TMemoryStream;
begin
   TForm2.Create(self).Show;
   LoadStream := TMemoryStream.Create;
   idHTTP1.Get('http://server.com/file.txt', LoadStream);
   LoadStream.SaveToFile( 'file.txt' );
   LoadStream.Free;
end;

procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64);
begin
 progressbar1.Position:= AWorkCount;           // работает
 form2.progressbar1.Position:= AWorkCount;   //не работает
 application.ProcessMessages;
end;

procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64);
begin
  progressbar1.Min:=0;
  progressbar1.Max:= AWorkCountMax;
  form2.progressbar1.Min:=0;
  form2.progressbar1.Max:= AWorkCountMax;
end;
Ответить с цитированием