|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2011, 23:43 | #1 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
Событие загрузки приложения
Интересен вопрос: как можно описать событие, когда приложение начинает грузить компьютер, выполняя какие-то объемные функции, используя больше оперативной памяти и тп? Хотелось бы выводить процесс этого события, скажем, в тот же ProgressBar, чтобы пользователь явно понимал, что приложение скорее занято чем-то, нежели просто зависло.
Я уверен, это можно как-то сделать. Не подскажите как? Последний раз редактировалось kettanaito; 21.08.2011 в 23:46. |
22.08.2011, 10:08 | #2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Можно, но это будут костыли.
Может лучше не надо? Ведь намного лучше грамотно спроектировать приложение. Чтобы тяжёлую работу оно выполняло в фоновом потоке, во время работы всегда показывать песочные часики и какой-либо статус "думаю" - даже если это краткосрочно.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
22.08.2011, 10:30 | #3 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Цитата:
Слежение за этими показателями можно осуществлять в отдельном треде с использованием ф-ции GetProcessTimes. К прогресс-бару это не имеет отношения, но дает вполне адекватный ответ на вопрос "приложение скорее занято чем-то, нежели просто зависло ?" |
|
22.08.2011, 13:16 | #4 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,814
|
А я просто делаю форму невидимой, когда программа начинает выполнять какие-то громоздкие вычисления или работу. И на рабочем столе не висит эта непрорисовываемая до конца форма.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
22.08.2011, 14:33 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я лично использую потоки+синхронизация.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.08.2011, 14:48 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В инженерных задачах или в АСУ при расчетах неплохо использовать поток+синхронизация и ProgressBar. Если с ProgressBar проблемы связанные с трудоемкостью определения количества итераций, то вместо него - анимацию
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где прописать процедуру загрузки опций приложения | Fog | Общие вопросы Delphi | 5 | 10.06.2011 18:39 |
Событие указателя мыши если он вне приложения | MyLastHit | Общие вопросы Delphi | 1 | 19.12.2010 18:11 |
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. | SkyM@n | Фриланс | 3 | 29.12.2007 16:21 |