Вниз
Скачать: CL | DM;

Пересветка компонент на форме   Найти похожие ветки 

← →
АМБ   (2005-02-25 10:22) [0]

При работе с программой вызывается OpenDialog. А после него остаются "не пересвеченные" компоненты. Можно ли это сделать как-то сразу для всех компонент, а не писать для каждого Refresh?


← →
КаПиБаРа ©   (2005-02-25 10:40) [1]

Form.Refresh


← →
Юрий Зотов ©   (2005-02-25 11:02) [2]

Что значит "не пересвеченные" - непонятно, но понятно, что в программе что-то не так с перерисовкой. Потому что если программе не мешать, то после закрытия диалога никакого Refresh вызывать не требуется.

Можно предположить, что после закрытия диалога программа начинает какую-то длительную обработку выбранного в диалоге файла, причем делает это в своем основном потоке. Ясно, что при такой структуре кода проблемы с перерисовкой действительно будут, причем одноразовый вызов Refresh почти ничего не даст, а циклический вызов Refresh (если он вообще возможен) существенно замедлит саму обработку.

Вывод - надо рассмотреть возможность организации обработки в дополнительном потоке.


← →
АМБ   (2005-02-25 11:23) [3]

Для Юрия Зотова. Да, это интересно, организовать длительный процесс в дополнительном потоке. Не можете ли посоветовать как это делается. Или где об этом можно подробно почитать.


← →
VMcL ©   (2005-02-25 11:31) [4]

>>АМБ   (25.02.05 11:23) [3]

В поставке Delphi есть демо-примеры (подпапка Demos). Посмотрите, там есть пример сортировки в трёх кодовых нитях (потоках), насколько я помню.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.968 c
1-1109297976
diabolik
2005-02-25 05:19
2005.03.13
ComObj и Excel


4-1107033375
nokk9
2005-01-30 00:16
2005.03.13
пароль на папку


4-1106865030
Atrion
2005-01-28 01:30
2005.03.13
Как создать подкласс WC_LISTVIEW("SysListView32") ?


4-1106989591
Дима
2005-01-29 12:06
2005.03.13
Глупый вопрос!


1-1109620453
DelphiNoK
2005-02-28 22:54
2005.03.13
Разрешение экрана




   Наверх