|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.06.2011, 09:50 | #1 |
Пользователь
Регистрация: 09.06.2011
Сообщений: 21
|
ожидание завершения работы макроса
Добрый день форумчане!
Может, ответ очевиден, но не могу сообразить. Вопрос такой. Из одного макроса (1) запускается другой (2). Как дождаться завершения работы 2 и только после этого продолжить работу макроса 1? Пример: Код:
Программа работает просто. Из Main() вызывается макрос (Obrabotka_tabl), после чего следует передача управления системе на небольшой промежуток времени (5 сек), далее выполнение макроса Obrabotka_tabl, и всё по-новой... В данном случае программа не дожидается завершения выполнения Obrabotka_tabl, и цикл запускается повторно, что приводит к отсутствию запланированной паузы в 5 сек. Можно ли каким-то образом при выполнении макроса Obrabotka_tabl дождаться его завершения, и только после этого продолжить работу main? |
18.06.2011, 10:00 | #2 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
Вынести за цикл строку
Код:
Код:
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 Последний раз редактировалось kuklp; 18.06.2011 в 10:03. |
18.06.2011, 10:12 | #3 | |||
Пользователь
Регистрация: 09.06.2011
Сообщений: 21
|
Цитата:
Цитата:
Тогда получится запуск "main" из "Obrabotka_tabl", потом из "main" запустится "Obrabotka_tabl" и т.д. имхо ни к чему хорошему это не приведет.. Цитата:
|
|||
18.06.2011, 10:25 | #4 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
Код:
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
18.06.2011, 10:46 | #5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
По-моему, это надо немного по-другому делать:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
18.06.2011, 10:50 | #6 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
И то верно, нафиг там цикл с DoEvents.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
18.06.2011, 11:24 | #7 | ||
Пользователь
Регистрация: 09.06.2011
Сообщений: 21
|
Цитата:
Цитата:
Код:
|
||
18.06.2011, 11:32 | #8 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
А чем вариант Алексея(Казанский) не устраивает?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
18.06.2011, 11:51 | #9 | |
Пользователь
Регистрация: 09.06.2011
Сообщений: 21
|
Цитата:
|
|
18.06.2011, 12:27 | #10 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
-Anton-
> Для того, чтоб на некоторое время передать управление пользователю. (в частности на 5 секунд, указанные в
Application.OnTime Now + TimeValue("00:00:05"), "Obrabotka_tabl" Метод OnTime работает совсем не так. Вышеприведенный оператор назначает старт процедуры Obrabotka_tabl через 5 секунд, при этом выполнение программы продолжается. Опишите задачу подробнее. Возможно, процедуру Obrabotka_tabl лучше запускать не по времени, а по какому-то событию?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ожидание завершения потоков | Voody | Общие вопросы Delphi | 11 | 14.06.2016 06:10 |
Отмена закрытия консольного окна после завершения работы приложения | FeloS | Общие вопросы C/C++ | 21 | 25.02.2011 16:34 |
Ожидание завершения процесса | Человек-Ололо | Общие вопросы Delphi | 2 | 08.03.2010 19:39 |
Как программно вызвать окно завершения работы | UfoRoot | Win Api | 4 | 21.01.2009 11:15 |
Перехват завершения работы ОС | vynt | Win Api | 7 | 19.05.2008 08:59 |