Вниз
Скачать: 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.028 c
3-1107949216
neat
2005-02-09 14:40
2005.03.13
DBLookupComboBox - очистка поля Text


1-1109687795
Phoenix9000
2005-03-01 17:36
2005.03.13
Поиск в подкаталоге


1-1109427972
-_-
2005-02-26 17:26
2005.03.13
Проблема с Delphi 2005 Architect


3-1108471499
salexn
2005-02-15 15:44
2005.03.13
TDbf


1-1109366217
ser35
2005-02-26 00:16
2005.03.13
Как сделать расчет?




   Наверх