Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.07;
Скачать: 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 вся ветка

Текущий архив: 2009.06.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
8-1194703672
Марсель
2007-11-10 17:07
2009.06.07
Размазывание!


2-1240454821
vegarulez
2009-04-23 06:47
2009.06.07
Вопрос про Zquery+ while not EOF


2-1240389619
Mulber
2009-04-22 12:40
2009.06.07
Защита ПО


15-1238617804
Юрий
2009-04-02 00:30
2009.06.07
С днем рождения ! 2 апреля 2009 четверг


15-1238908559
charodey_mag
2009-04-05 09:15
2009.06.07
Ошибки Delphi при компиляции