Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2016, 16:24   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Независимые потоки

Есть mdi приложение (программа для работы с УТМ ЕГАИС – если знаете что это) и скажем 2 child формы.
Форма 1.
На форме есть кнопка, по кнопке запускается поток, который обращается к ресурсу http://localhost:8080, загружает документы, обрабатывает их и т.п. и т.д. На форме есть ProgressBar, который отображает ход процесса, т.е. в процедурах synchronize конкретно указана форма и компонент, который надо менять
Код:
form1. ProgressBar.position := PROGRES.
На форме 2 есть также кнопка, которая запускает тот же самый поток и ProgressBar, который надо менять, но как сделать так,
1. Чтобы в зависимости от того какая форма вызвала поток, на той форме и менялись контролы
2. Идеально было бы, если бы каждый вызов потока работал независимо от другого. И обновлял нужные контролы.
Подскажите как это осуществить.
tarakan1983 вне форума Ответить с цитированием
Старый 02.11.2016, 16:34   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

передайте ссылки на эти контролы в поток.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2016, 16:41   #3
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
передайте ссылки на эти контролы в поток.
как? можно с примером?
tarakan1983 вне форума Ответить с цитированием
Старый 02.11.2016, 16:54   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

http://programmersforum.ru/showthread.php?t=295305
Код:
TMyThread =class(TThread)
private
  FmyControl: TProgressBar;
public
  constructor Create(suspend: boolean; Eventcontrol: TProgressBar);
protected
  procedure SynchoEvent;
end;

constructor TMyThread.Create((suspend: boolean; Eventcontrol: TProgressBar);
begin
  inherited Create(suspend);
  self.FMycontrol:=EventControl;// мы будем работать вот с ней
end;

procedure TMyThread.SynchoEvent;
begin
  self.Eventcontrol.Position:=.......// и работаем с ней
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.11.2016 в 16:56.
evg_m вне форума Ответить с цитированием
Старый 02.11.2016, 17:03   #5
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Спасибо, это все что мне нужно, толчок в правильную сторону.
tarakan1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Потоки. Закрываются все потоки при ошибке в одном. Son Общие вопросы Delphi 11 01.11.2013 09:32
потоки Cpluser C# (си шарп) 1 28.10.2012 17:00
как создать 2 независимые пары "option button" в VBa akif Помощь студентам 0 10.01.2012 23:40
Независимые условия pascal ser2live Помощь студентам 11 05.06.2011 20:55
Потоки Владимир Чернов Помощь студентам 0 08.12.2010 23:56