Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7]      все
 Re: Многопоточное программирование в Delphi для начинающих  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 985
DmSer

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

Хм, и VCL не штырит от такого?
9 июл 21, 17:55    [22345865]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 1457
Fr0sT-Brutal,

Ни разу не жаловалась :-)
9 июл 21, 19:22    [22345877]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 985
У тебя же все равно в итоге форма в доп. треде. Надежней делать на чистом winapi
12 июл 21, 10:18    [22346318]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
jonik
Member

Откуда:
Сообщений: 306
DmSer

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

Если честно не понял, для чего используется событие.
Давно не писал потоки, но по памяти. Создаем suspend поток и при отображении формы, в OnShow, стартуем его.
Как по мне есть вероятность на быстрой операции получить бесконечное ожидание, так как поток войдет в ожидание до отображения формы.
11 ноя 21, 13:29    [22394613]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 1457
jonik
DmSer

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

Если честно не понял, для чего используется событие.
Давно не писал потоки, но по памяти. Создаем suspend поток и при отображении формы, в OnShow, стартуем его.
Как по мне есть вероятность на быстрой операции получить бесконечное ожидание, так как поток войдет в ожидание до отображения формы.


Форма гарантированно отображается на экране. А закрывается только в одном месте - по команде из потока, после выполнения FEvent.WaitFor(INFINITE). Поэтому бесконечного ожидания не будет.

Существует бесконечное множество способов решить одну и ту же задачу. С эвентом - лишь один из способов.
12 ноя 21, 18:59    [22395297]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
jonik
Member

Откуда:
Сообщений: 306
У меня форма зависает. D10.3.3 и D10.4.2
Один или два раза отрабатывает норм, мелькает и закрывается. А в основном зависает. Если поставить задержку, то отрабатывает норм.
13 ноя 21, 01:03    [22395448]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 1457
jonik
У меня форма зависает. D10.3.3 и D10.4.2
Один или два раза отрабатывает норм, мелькает и закрывается. А в основном зависает. Если поставить задержку, то отрабатывает норм.


Что зависает? Мой пример?
13 ноя 21, 15:31    [22395583]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
jonik
Member

Откуда:
Сообщений: 306
Да, ваш пример, где быстрая операция. При чем зависает чаще, чем не зависает.
Один раз запускаю - мелькнуло, отработало. Запускаю сразу же ещё раз - зависает :)
Ну и так периодически. То есть как по мне код для быстрых операций не рабочий.
15 ноя 21, 10:36    [22396064]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 27313
jonik
То есть как по мне код для быстрых операций не рабочий.

Что там за код, который "зависает"?
15 ноя 21, 10:46    [22396072]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное программирование в Delphi для начинающих  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 1457
jonik
Да, ваш пример, где быстрая операция. При чем зависает чаще, чем не зависает.
Один раз запускаю - мелькнуло, отработало. Запускаю сразу же ещё раз - зависает :)
Ну и так периодически. То есть как по мне код для быстрых операций не рабочий.


Пример с гитхаба не зависает.
Предполагаю, что вы скачали пример из гитхаба, что-то в нем подкрутили (может эвент удалили, я не знаю), после этого у вас стало зависать.

Попробуйте ещё раз скачать проект из гитхаба, в отдельную папку. Оттуда скомпилировать и запустить.

Сообщение было отредактировано: 16 ноя 21, 09:41
16 ноя 21, 09:39    [22396462]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7]      все
Все форумы / Delphi Ответить