|
Ожидание завершения другого приложения
|
|||
---|---|---|---|
#18+
Вот что я использовал: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Вот так эквивалентно? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
(поведение вроде одинаково, причем в .Net я смотрю приложение полностью вменяемо, т.е. подвешивается лишь тек. процедура - это радует, в VB6 это кажется позволяло только выполнять параллельно код из-под таймера и м.б. реагировать на очередь сообщений окна, а здесь еще и на другие кнопки нажимать можно) В Shell смотрю еще параметр Wait имеется. Код: vbnet 1. 2. 3. 4.
Но это боюсь не вариант - вешает всю прогу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 14:05 |
|
Ожидание завершения другого приложения
|
|||
---|---|---|---|
#18+
Дмитрий77, Для меня плохо читабелен VB, поэтому приведу просто пример, как ожидается завершение в одном из моих проектов на C#. Думаю разберетесь. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73.
В данном случае можно хоть сотню приложений запустить, подписавшись заранее на событие ReportComplete, никаких "зависаний" не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 14:26 |
|
Ожидание завершения другого приложения
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 14:30 |
|
Ожидание завершения другого приложения
|
|||
---|---|---|---|
#18+
А что после завершения? Там есть что-то, что мешает для ожидания использовать отдельный поток? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 14:30 |
|
Ожидание завершения другого приложения
|
|||
---|---|---|---|
#18+
Ilya81для ожидания использовать отдельный поток? Злоупотреблять ожиданиями в отдельных потоках думаю не стоит без необходимости, да об этом речь и не шла. Собственно моя ShellAndContinue - это когда следующее действие (в той же процедуре) требует результата этого Shell (причем Shell длится не очень долго - к примеру запуск внешнего конвертера файла, скажем 0,5сек). Ну и к примеру эта конвертация делается из под Mailslot-таймера. DoEvents в принципе здесь достаточно, чтоб не мешать юзеру жать кнопки эти 0,5 сек. Либо наоборот юзер что-то конвертирует кнопкой и при этом работа таймера или какого CallBack-а (напр. в ответ на сообщение окну приложения) не должна стопориться и т.п. Вопрос был: эквивалентны ли мои ShellAndContinue и ShellAndContinueNet? Хотя я и сам на 99% вижу что да. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 15:52 |
|
Ожидание завершения другого приложения
|
|||
---|---|---|---|
#18+
Дмитрий77, рекомендую срочно сменить профиль. иди в газетчики! с такими-то способностями к словоблудию, с ходу целые вёдра слов. талант не должен пропасть по чём зря! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 16:07 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1402115]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 358ms |
total: | 518ms |
0 / 0 |