Вниз
Скачать: CL | DM;

Потоки   Найти похожие ветки 

← →
Iriss   (2009-04-20 11:52) [0]

Запускаю расчет кнопкой "Расчет", хочу, чтобы по нажатию кнопки "Прервать" расчет был убит, но не могу пока идет обработка метода нажатия кнопки "расчет" нажать кнопку "Прервать"

Кнопка зажатой остается

------------------------------------
Что я делаю:

Запускаю поток, в котором запускаю метод Run(Self);
который по иерархии вызывает нужный метод Calculate(), в котором производится расчет, который может зависать


← →
Palladin ©   (2009-04-20 11:54) [1]


> который по иерархии вызывает нужный метод Calculate(),

по какой еще иерархии?


← →
Iriss   (2009-04-20 11:58) [2]

упс, да, иерархии там нет. Ошибся)

Запускаю поток, в котором запускаю метод Run(Self);
который вызывает метод Calculate(), в котором производится расчет, который может зависать


← →
clickmaker ©   (2009-04-20 11:58) [3]

> пока идет обработка метода нажатия кнопки "расчет" нажать
> кнопку "Прервать"

как выглядит расчет?


← →
Iriss   (2009-04-20 11:59) [4]

расчет представляет собой композицию подрасчетов, каждый из которых может зависать


← →
Palladin ©   (2009-04-20 12:01) [5]

телепатор подсказывает, что все расчеты производятся в Synchronize


← →
Сергей М. ©   (2009-04-20 12:01) [6]


> Кнопка зажатой остается


Кто ее "зажал", кто посмел ?
Она ж не барышня, чтобы ее "зажимать"))


> Запускаю поток, в котором запускаю метод Run(Self);


Значит не в нем, раз у тебя кого-то там "зажало")


← →
clickmaker ©   (2009-04-20 12:02) [7]

> расчет представляет собой композицию подрасчетов, каждый
> из которых может зависать

а почему он может зависать?
для справки: в потоке можно периодически проверять значение переменной Terminated, и если установлено, выходить из потока.
По нажатию же кнопки можно вызывать метод потока Terminate


← →
Iriss   (2009-04-20 12:08) [8]

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


← →
clickmaker ©   (2009-04-20 12:12) [9]

> так вот проблема и в том

проблема в том, что не можешь здесь внятно описать процесс расчета.
Если "просто не могу нажать что-либо на форме", значит этот поток как-либо блокирует очередь сообщений главной формы.


← →
Сергей М. ©   (2009-04-20 12:14) [10]


> поток, в котором идет расчет


Значит не в нем, а в основном у тебя идет расчет !
См [5].


← →
clickmaker ©   (2009-04-20 12:18) [11]

хм... еще одна жертва Архангельского? -)


← →
Ega23 ©   (2009-04-20 12:49) [12]


> еще одна жертва Архангельского? -)


Очень похоже...


← →
Anatoly Podgoretsky ©   (2009-04-20 12:53) [13]

> Ega23  (20.04.2009 12:49:12)  [12]

Никто так много не сделал для потокостроительства.


← →
Iriss   (2009-04-22 18:30) [14]

всем спасибо, решил


← →
Сергей М. ©   (2009-04-22 19:03) [15]

Аминь



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.006 c
2-1240300599
Unforgiven
2009-04-21 11:56
2009.06.07
Запись видео в файл


15-1237999517
Городской Шаман
2009-03-25 19:45
2009.06.07
Offline репликация данных своими руками.


15-1238654831
alexander
2009-04-02 10:47
2009.06.07
ASYNC pro


15-1238166159
Azazello
2009-03-27 18:02
2009.06.07
Иконка приложения


15-1238668291
sniknik
2009-04-02 14:31
2009.06.07
Вызов окна с инициализацией, проблема в IE7




   Наверх