Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
 Аватар для Jean-Esther
9 / 9 / 3
Регистрация: 28.02.2009
Сообщений: 66

Параллельные процессы, их синхронизация.

05.03.2009, 19:54. Показов 3921. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно каким-то образом внутри одного параллельного потока (TThread) узнать (скопировать) некоторое свойство другого потока или формы (в свое поле).
Помогите реализовать, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.03.2009, 19:54
Ответы с готовыми решениями:

Параллельные процессы в Delphi 2010
Ребят, есть код: procedure TFormMain.BitBtn2Click(Sender: TObject); begin FormAnimate.ShowModal; ...

параллельные процессы
Задание: Нужно создать два параллельных процесса. каждый осуществляется работу с одним и тем же файлом. Каждый процесс открывает файл. Один...

Параллельные процессы в c#
Есть задача: читать из таблицы в бд ms SQL некоторую колонку с путями к файлам и копировать их по заданному адресу. Если решать все...

3
Любитель давать советы
 Аватар для Alexiski
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
06.03.2009, 00:57
А в чем проблема? Подключить нужный юнит и обращаться напрямую.
Только если там именно свойство, и оно завязано на vcl, лучше обернуть через Synchronize.
0
 Аватар для Jean-Esther
9 / 9 / 3
Регистрация: 28.02.2009
Сообщений: 66
06.03.2009, 18:43  [ТС]
Цитата Сообщение от Alexiski Посмотреть сообщение
А в чем проблема? Подключить нужный юнит и обращаться напрямую.
Только если там именно свойство, и оно завязано на vcl, лучше обернуть через Synchronize.
Тем не менее вопрос возник. И вот в чем проблема.
Я, честно говоря, слаб в теме потоков. Поэтому могу чего-то сказать неправильного. Но вопрос есть вопрос, и удовлетворить желание разобраться мне необходимо. *Прекращаю лирические отступления*
Напрямую обращаться к полю той же формы нельзя — зависнет. Процедура Synchronyze (на неё ставлю) в качестве аргумента запрашивает процедуру procedure of object. Что это означает? То, что нельзя использовать нечто типа procedure TForm1.CopyField(var threadfield) — проверено практикой. Вот собственно и проблема.
Но за эти .... два дня, пока темка висит, я уже начал подумывать, а не скопировать ли мне по процедуре procedure TForm1.CopyField необходимое поле в глобальную переменную модуля, а затем уже обратиться во время выполнения потока после Synchronyze(Form1.CopyField) к этой глобальной переменной, ведь, насколько я знаю, обращение к переменным не повлечет за собой никаких нежелательных последствий.
Что думаете?
0
Любитель давать советы
 Аватар для Alexiski
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
08.03.2009, 12:28
Да, общая схема примерно такая. Пишется две процедуры, одна из них вызывает другую через Synchronize. Обмен между ними идет через переменную.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var
  tempWidth: integer;
procedure getTempWidth;
begin
  tempWidth := Form1.Width;
end
 
function getWidth: integer;
begin
  Synchronize(getTempWidth);
  getWidth := tempWidth;
end
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2009, 12:28
Помогаю со студенческими работами здесь

Параллельные процессы read и write в работе с FIFO
Здравствуйте. В порядке самостоятельного изучения языка написал программку: #include <stdio.h> #include...

Проблема с задачей на параллельные процессы: система, управляющая пассажирским лифтом, с одной кнопкой вызова.
Доброго Времени Суток! В общем я пытаюсь на Ruby смоделировать через параллельные процессы работу лифта по следующей задаче: Алгоритм...

Процессы, общие файлы и синхронизация между процессами
Пишу курсовой, задание такое: Цветами отмечены процессы порожденные основной программой или др процессами, все реализовано, остался...

Заменить в коде параллельные главной, на параллельные побочной диагонали
Вот код,нужно сделать чтобы сортировались диагонали параллельные побочной, а не главной. помогите пожалуйста. int *diag1; diag1...

Замирает компьютер, все процессы замораживаются, но курсор передвигается и некоторое время можно переключатся на другие процессы
Добрый Вечер. Суть проблемы, собрал компьютер на базе: CPU: AMD FX-8320 Mать: AsRock 990FX Extreme3 Видео: AMD RADEON HD6950 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru