![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
AlexeyShestchenko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
Всем привет.
Написал довольно емкую программу со множеством процедур. Работа программы сводится к выбору через checkbox'ы выполнение нужных процедур. Сначала программа выполняет ряд функций и выводит результат в listbox, затем по buttonclick проверяются какие checkbox в true и начинают выполнение....по порядку. Все процедуры берут данные из listbox и проверяют подходят ли они им и совершают дальнейшие вычисления. Процедур довольно много,пока 17,но будет еще больше,около 50. Можно представить сколько займет времени анализ))) Мне посоветовали использовать потоки. На этом сайте нашел статью Петровича, но так как мой общий уровень знания ПК пока еще далеко мал, то не все понятно :( Использование потоков у себя п программе я вижу так: Получаем входные данные в основной программе,анализируем основным потоком и выводим в listbox, затем врубаем все потоки и они начинают свою работу не тормозя основную форму и выводя результаты в соответствующие контролы. Идеальным вариантом было бы следующее: врубаем все потоки,они ждут кога появятся данные в listbox, а данные появляются при работе основного потока в программе, таким образом можно было бы сильно сократить время выполнения всех операций. Надеюсь я правильно думаю,поправьте если не так,буду благодарен. Хотелось бы еще увидеть тут конкретные советы =) Спасибо всем! |
|||
|
||||
AlexeyShestchenko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
использую так
рассчеты с одного потока прошли успешно все ок, но когда я закрываю программу то вылезает ошибка,самое интересное что я создал путсую форму сделал там работу только потока и все нормально без ошибок, а в моей программе вылезает ошибка system error: code:1400 недопустимый дискриптор окна, а иногда вылезает и ругается на tabcontrol,точнее не иногда а вслед за ошибкой 1400, control tabsheet1 has no parent window Это сообщение отредактировал(а) AlexeyShestchenko - 26.3.2008, 00:33 |
|||
|
||||
AlexeyShestchenko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
неужели никто не может мне подсказать? :(
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
словами код не опишешь.
ошибка в 17й строке... -------------------- There are always someone smarter than you... |
|||
|
||||
AlexeyShestchenko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
вроде заработало, вынес listbox1.clear; listbox2.clear; в отдельную процедуру и потом вызываю ее в execute sychn.пока работает, посмотрим как дальше будет себя вести)
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
ага. из потока с компонентами на форме работаешь?!!
-------------------- There are always someone smarter than you... |
|||
|
||||
AlexeyShestchenko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
так точно!
|
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
AlexeyShestchenko, из дополнительных потоков работать с VCL компонентами нельзя.
Почитай: http://forum.vingrad.ru/topic-60076/view-f...t/p-480368.html |
|||
|
||||
AlexeyShestchenko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.2.2008 Репутация: нет Всего: нет |
||||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
в общем единственный дельный совет, что в голову приходит, читать статью про потоки до полного просветления...
-------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |