Главная страница
    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.47 MB
Время: 0.004 c
6-1203366089
IgorT
2008-02-18 23:21
2009.06.07
InternetReadFile + BlockWrite + ProgressBar , помогите ...


2-1240313348
kostyl_kostyl
2009-04-21 15:29
2009.06.07
Как нарисовать на форме полупрозрачный полигон?


6-1203515166
MonsterHell
2008-02-20 16:46
2009.06.07
Переопределение днс2


2-1240468106
товарищ вася
2009-04-23 10:28
2009.06.07
Панель onTop


2-1240504973
@!!ex
2009-04-23 20:42
2009.06.07
Как сделать синхронный запуск прилоежния?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский