
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.02.2005, 08:59:46
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
При нажатии на кнопку запускается запрос, прога берет из грида и кидает в эксель. И в это-же время выходит окошка типа "Подождите..." и в этой формочке есть progress bar. Так вот при нажатии на кнопку зароса сам запрос обрабатывается но изменение progressbar'а не отображается. И вообще на этой "подождите"-форме ни какие графические изменения не отображаются во время выполнения того запроса. По моему VB отдает все ресурсы машина на обработку первого запроса а события информативной формы не обрабатыватся в это время. Я раньше где-то на каком-то форуме видил такой код на VB если его написать на первую строку процедуры нажатию кнопки то во время выполнения какой-то долгой функции прога будет реагировать и на другие события. Вот тока вспомнить не могу....:( Может кто подскажет Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 09:15:24
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
вероятно поможет асинхронный запрос т.е. надо создать объект типа ADODB.Command и сним поработать Код: plaintext 1. 2. 3. 4. 5. 6. 7. и потом отлавить когда запрос закончит свою работу и выполнить необходимые действия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 09:20:43
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
да нет с запросом все впорядке я так и работаю с ним. Код: plaintext Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 10:08:25
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
почему-то и это не помогает...:( вот код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Помогите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 12:50:37
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
Если долго выполняется CopyFromRecordset, то тут увы ничего не поделаешь. Разве что пытаться реализовать мнгопоточную обработку, т.е. в одном потоке показывать форму а в другом высти обработку. Но реализация многопоточности на VB это гемор тот еще. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 13:29:05
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
Я для этих целей (только копипрование шло из Excel в Access) разбивал выборку на части (1000 строк за раз) и выполнял её в цикле, отображая прогресс исполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 18:50:34
|
|||
|---|---|---|---|
|
|||
Как избежать от неотвечания на события :) |
|||
|
#18+
а я пошёл другим путём: создал ActiveX exe, который умеет progres-bar'ом управлять и перед вызовом "длинного" процеса его запускаю та же самая многопоточность, но реализована абсолютно безгеморно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 19:13:40
|
|||
|---|---|---|---|
Как избежать от неотвечания на события :) |
|||
|
#18+
2 Dmitry Biryukov вот интересно нафиг нужен прогресс бар если процесс не дискретный. Динамику чего он будет отображать? В таком случае можно AVI показывать, типа "работаю барин, погодь с недельку". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2168229]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
16ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 182ms |
| total: | 250ms |

| 0 / 0 |
