|
|
|
TThread.queue и зависшая форма
|
|||
|---|---|---|---|
|
#18+
При нажатии на кнопку выполняется долгая процедура с некоторым ожиданием, и форма зависает. Чтобы не зависала, поместил эту процедуру в "TThread.queue()", но все осталось по-прежнему. Я неправильно что-то понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 09:33 |
|
||
|
TThread.queue и зависшая форма
|
|||
|---|---|---|---|
|
#18+
TQueue, Thread.Execute() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 09:41 |
|
||
|
TThread.queue и зависшая форма
|
|||
|---|---|---|---|
|
#18+
TQueue, Да, неправильно Executes a method call within the main thread. Это метод для вызова из дополнительных потоков кода, который должен исполняться в контексте главного потока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 11:48 |
|
||
|
TThread.queue и зависшая форма
|
|||
|---|---|---|---|
|
#18+
Чтобы не зависала её нужно поместить в отдельный поток. В System.Threading есть TTask.Run() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 12:13 |
|
||
|
TThread.queue и зависшая форма
|
|||
|---|---|---|---|
|
#18+
TQueueЧтобы не зависала, поместил эту процедуру в "TThread.queue()", но все осталось по-прежнему. Я неправильно что-то понял? если под "TThread.queue()" подразумевается это , то без помещения кода в доп.поток не обойтись (ибо, насколько я в курсе, queue - потокобезопасный, встроенный PostMessage). Лучше выложи код, тогда помогут быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 16:49 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39719827&tid=2040248]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 435ms |

| 0 / 0 |
