|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2010, 14:57 | #1 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 37
|
Корректная прорисовка с занятым основным потоком??
Здравствуйте!
У меня следующая проблема. Нужно показать форму с анимацией или бегающим прогресбаром перед выполнением длидельного процеса. Процесс выполняется в основном потоке программы, перенести в отдельный поток не могу и вставить строчку типа Form2.Refresh тоже, так так выполняется скрипт. Возможно ли как то организовать показ формы независимо, чтобы сама прорисовывалась??? Чтобы можно было что-то типа: Код:
Так же пробовал засунуть форму в DLL, но все равно у меня прорисовком занимается основной поток. Пробовал создавать отдельный TApplication в DLLке, тоже не пошло. Есть ли какие-то идеи как это сделать??
Не грузи, и не грузим будешь...
|
01.12.2010, 15:19 | #2 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
Тут недавно, чтобы особо не заморачиваться потоками, посоветовали попробовать
http://www.delphikingdom.ru/asp/arti...ArticleID=1355 |
01.12.2010, 16:13 | #3 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Скрипт как выполняется? Может Application.ProcessMeseges прокатит?
|
01.12.2010, 17:43 | #4 | ||
Пользователь
Регистрация: 04.02.2007
Сообщений: 37
|
Цитата:
Цитата:
Где-то нашел информацию что это можно сделать через ручную загрузку DLL, но в всех примерах форму из DLL наоборот стараются подсунуть приложению "как родную", мне же нужно наоборот.
Не грузи, и не грузим будешь...
|
||
02.12.2010, 09:47 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
У DLL есть свой application но нет цикла обработки сообщений ( application.run ).
попробуй загрузить DLL и запустить там такой цикл програмно(если получится),. Правда как управлять им извне (чтобы закончить по завершению скрипта) и как он будет себя вести мне не понятно. Если он будет в том же потоке что и скрипт то работать будет что-то одно (скрипт или цикл(Run)? Если в разных потоках будут ли идти сообщения чтобы работал Application.run?
программа — запись алгоритма на языке понятном транслятору
|
02.12.2010, 11:05 | #6 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Интересно. Очень интересно... Есть над чем подумать
|
02.12.2010, 12:25 | #7 | |
Пользователь
Регистрация: 04.02.2007
Сообщений: 37
|
Цитата:
Код:
Попробовал создать свою переменную DllApp : TApplication, Код:
При исполнении этих же действий но в отдельном потоке dll'ки следующее поведение: При работе с Application - форма не показывается, проект начинает тупо реагировать на действия юзера слетает при закрытии. При работе с DllApp - форма показывается и вроде все нормально, вот только все равно она обрабатывается основным Application программы и, как следствие, стопориться прорисовка при занятости основного потока. Есть идеи????
Не грузи, и не грузим будешь...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
mingw32-g++ и msvs6 не корректная работа fstream под windows | Asain-Asa | Общие вопросы C/C++ | 1 | 18.11.2009 00:06 |
Корректная закачка файлов. | Dj_smart | Работа с сетью в Delphi | 3 | 26.03.2009 16:57 |
Корректная печать объединенных ячеек | zloy_nick | Microsoft Office Excel | 5 | 26.02.2009 16:21 |
Работа с файлом, занятым другим процессом | Viteef | Общие вопросы Delphi | 3 | 10.05.2007 20:45 |