Мне необходимо, чтобы действие выполнялось после завершения выполнения процесса. То есть, запустил (через IC) процесс функцией
WinExec
с параметром, чтоб в WinRAR добавлялся файл, а после этой функции идёт следующая, но она должна выполняться только ПОСЛЕ окончания кпаковки файла. У меня же выполняется (например, тот же _hi_OnEvent) сразу после передачи параметров WINRAR'у.
Подскажите, как сделать, чтоб функция, например, тот же _hi_OnEvent выполнялась после упаковки.
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
мне кажется вопросы по реализации чего-то с использованием инструментария целевого языка следует задавать на соответствующих форумах.
|
|||
карма: 27 |
|
Ответов: 5446
Рейтинг: 323
|
|||
3042, в одном из старых проектов делал так (код на C++) :
code_1855.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_1855.txt [791B] [331] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
пример есть в одном из элементов стандартного пакета. Если бы вместо копаний с IC была изучена база, то подобных вопросов не возникало бы.
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Dilma, по-моему режим wait для консольных не работает...
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
в том же элементе и для консоли все есть.
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Мда...
А onConsoleResult и onConsoleError прут в схему в асинхнонном потоке Надо бы строго указать tsdima Насколько я понимаю, это <все есть> в событие еще и превратить надо уметь... Если получится... |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
угу в асинхронном... Поправить конечно надо бы. Опционально хотя бы
|
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Galkov писал(а): А onConsoleResult и onConsoleError прут в схему в асинхнонном потоке Это делалось для того, чтобы сделать консоль интерактивной, а не "послал-получил-и всё" Dilma писал(а): Опционально хотя быА вот это верно. Не подумал я про совместимость. Точнее, подумал, но решил, что это не так важно. А надо было новое свойство сделать. [size=-2]------ Добавлено в 11:27 А что, onConsoleTerminate не работает? |
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
tsdima писал(а): Это делалось для того, чтобы сделать консоль интерактивнойИ как это противоречит синхронизации события с основным потоком приложения |
|||
карма: 9 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Разобрался.
|
|||
карма: 9 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Galkov писал(а): И как это противоречит синхронизации события с основным потоком приложения Если цикл чтения из pipe оставить в doConsoleExec, то пришлось бы в нём ещё и сообщения прокачивать (иначе, например, сокеты не будут работать, да и само приложение "подвиснет"). Вследствие чего возможен был бы повторный вызов doConsoleExec, который надо было бы как-то блокировать, мне показалось - будет ещё больше проблем. |
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
tsdima, да это понятно, все правильно. Речь о другом: о СИНХРОНИЗАЦИИ с основным потоком проги.
|
|||
карма: 9 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Это как в сокетах что-ли, через невидимое окно?
|
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
это как в thread.Synhronize
|
|||
карма: 27 |
|