![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
Всем привет! У меня такой вопрос: как сделать так, чтобы после выполнения какого-либо действия в программе, происходило сохранение данных в ini-файл, но так, чтобы процесс сохранения этих данных был виден пользователю. Сам процесс сохранения данных и работа с ini-файлами не вызывает никаких затруднений, но вот визуализация данного процесса... В момент сохранения данных я показываю форму, на которой лежит компонент ProgressBar. Выполняю увеличение свойства Position у данного компонента. Но вот беда, у меня во время выполнения процесса сохранения данных виден только ProgressBar, а два лейбла, в которых написано пояснения для пользователя о том, что же в данный момент происходит, не отображаются. Они становятся видимыми только после того, как цикл заполнения ProgressBar'а закончит свою работу! Как мне сделать так, чтобы перед заполнением ProgressBar'а были видны лейблы? Спасибо!
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
делай Application.ProcessMessages()
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
или Label.Update;
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
тоже вариант, но обновленые метки и прогресс бар на необновленной форме выглядят довольно странно
![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
MacTep |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
Добавлено @ 14:14 Вот код:
Но это не помогает! -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
||||
|
|||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
_hunter а если использовать его, то можно наткнуться на неприятности, а именно:
другие контролы смогут быть задействованы во время выполнения цикла, а если на форме есть контролы влияющие на цикл то, какой-нить злобный Ю-зверь кликнув на онный котрол получит ошибку, чем будет удивлен.
тады можно Form.Update; Добавлено @ 14:17 Application.ProcessMessage в цикл засунь -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
вызов этого метода заставляет Application все, посланные ему, сообщения
Добавлено @ 14:20 z-END, контролы, могущие повлиять на процесс, следует блокировать ![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
Поместил в цикл, все работает. Только вот теперь не соображу, как же такую форму закрыть? Простомы методом Close она не закрывается, просто никак не реагирует! Вот лажа! А в каком обработчике событий писать, не знаю. Плиз, подскажите!
![]() -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
останови цикл -- дожна закрыться
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Попробуй так (код непроверял но должно быть зер гуд)
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Application.ProccessMessages
в этот момент программа приостанавливает, например цикл и дает системе возможность отработать все сообщения, прорисовки, и не только твоего приложения.
|
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
должна закрыться при вызове соотв. метода
![]() ты, лучше, код покажи -- явно там косяки -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Rakhim |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.8.2004 Репутация: нет Всего: нет |
Процедуру Save надо убрать из метода FormPaint (а то эта процедура постоянно вызывается при прорисовке )
|
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
Я выяснил причину ошибки. Форма была модальной! Я убрал этот косяк и все нормально работает. Но вот беда, нельзя ли сделать так, чтобы и модальная форма нормально закрывалась? А то получается, только немодальной пользоваться, да?
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |