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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 21:39   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
Счастье Синхронизация работы Tthread и данных в ListView как реализовать?

Всем доброго времени суток!

Обрисую ситуацию=)

Моя программа запускает другие программы в потоках tThread передавая потокам все "необходимое". Потоки следят за программами на протяжении всей жзнеспособности.

Вот в чё1м проблема:
Если поток сам завершает программу, или программа завершается вместе с потоком , на фрму в listview в определённый item не отправляется того что програма завершила свое деяние.

Как наладить общение Tform <=> TThread?
Syncronize не предлогать! Оно не умеет передавать параметры(То что посылает поток на форму, к примеру статус работы потока(программы)).
Человек_Борща вне форума Ответить с цитированием
Старый 19.12.2010, 21:44   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Чего, вы говорите, не умеет Synchronize?
_Engine_ вне форума Ответить с цитированием
Старый 19.12.2010, 21:44   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Syncronize не предлогать! Оно не умеет передавать параметры(То что посылает поток на форму, к примеру статус работы потока(программы)).
а поля класса отменили?
при использовании CommonVCL помоему это лучше.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.12.2010, 22:19   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Сообщение от _Engine_ Посмотреть сообщение
Чего, вы говорите, не умеет Synchronize?
Код:
ssynchronize(Sum(12,2));
Выбивает ошибку что нельзя так делать.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а поля класса отменили?
при использовании CommonVCL помоему это лучше.
По подробнее Можно пожалуйста? =)
Человек_Борща вне форума Ответить с цитированием
Старый 20.12.2010, 01:00   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
type
 TMyThread=class
   FMyValue:integer;
   procedure Sync;

-------------------

procedure TMyThread.Sync;
begin
 ProgressBar.Progress:=FMyValue;
end;
в Execute
пишешь.
Код:
 FMyValue:=5;
 Syncronize(Sync);
считай передали параметр.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация listview c потоками bulldog5293 Работа с сетью в Delphi 0 12.11.2010 22:33
Реализовать слежение за процессом в потоке Tthread Человек_Борща Общие вопросы Delphi 4 09.11.2010 21:23
Пример работы с TThread Shouldercannon Общие вопросы Delphi 2 12.07.2010 16:47
Firebird. Синхронизация данных koma_grusha БД в Delphi 11 25.03.2010 10:11
Синхронизация данных Gizo Помощь студентам 6 31.01.2010 17:16