Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ресурсоемкий код и анимационные окна

504
27 января 2005 года
lexluther
71 / / 26.10.2004
Всем привет,

Помогите, пожалуйста, решить проблему. У меня есть приложение, написанное на C++Builder 6. Приложение выполняет копирование большого объема данных и во время копирования отображает анимационное окно (анимацию копирования файлов к примеру) в отдельной форме. Код показа анимационного окна приблизительно следующий:

TFormAnimate* FormAnimate=new TFormAnimate(this);
FormAnimate->Show();

//ресурсоемкий код копирования

delete FormAnimate;
FormAnimate=NULL;

Проблема в том, что сам процесс копирования жрет столько ресурсов, что анимационное окно отображается с трудностями и запозданиями.

Вместо копирования может быть любой другой ресурсоемкий код.

Подскажите мне, пожалуйста, какие обычно методы решения данной проблемы. Я так понимаю, что это решается с помощью процессов (?).

Best Wishes,
 
Artiom Ivanov,
CubeReality Inc, L CEO
http://www.cubereality.com
9.7K
27 января 2005 года
Dmitrich
4 / / 27.01.2005
Попробуй вставить в код копирования:
Application->ProcessMessages();
259
28 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Dmitrich
Попробуй вставить в код копирования:
Application->ProcessMessages();


TProgressBar.

1
28 января 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by lexluther

Вместо копирования может быть любой другой ресурсоемкий код.

Подскажите мне, пожалуйста, какие обычно методы решения данной проблемы. Я так понимаю, что это решается с помощью процессов (?).


Скорее с помощью потоков - при показе формы копирования запускай поток - и выставь ему приоритет. А этот поток должен обновлять форму с анимашкой или прогрессбаром - кому что нравится
- через Synchronize. Все будет работать нормально. Сейчас просто у тебя и форма рисуется и копирование идет в одном потоке.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог