|
vbs. Как заставить ждать выполнение кода?
| ☑ |
0
Stim
12.07.15
✎
14:59
|
скриптом выгружаю базу. Вот часть кода:
ConnectString = """C:\Program Files (x86)\1cv8\common\1cestart.exe"" CONFIG /S "& ServerName & "\"& BaseName &" /DumpIB " & DumpIBFile
Set WshShell=CreateObject("WScript.Shell")
RetCode = WshShell.Run(ConnectString,1,true)
Я так понимаю - что WshShell.Run() - должно сначала выполниться, потом идти на следующую строку.
У меня же получается выполнение идет на след строку, в то время, как процесс 1сv8.ехе еще не завершен. И весь скрипт проходит до конца, а выгрузка все еще выполняется.
как заставить скрипт ждать выполнения команды WshShell.Run() ?
|
|
1
Лопата
12.07.15
✎
15:08
|
(0) вся проблема в том, что после старта 1cestart.exe стартует 1cv8.exe. Поэтому нужно использовать 1cv8.exe в первой строчке кода.
|
|
2
Stim
12.07.15
✎
15:35
|
(1) да ты чертов гений, чувак!
Спасибо!
|
|
3
ДенисЧ
12.07.15
✎
15:41
|
Паш... А может того?
|
|
4
Stim
12.07.15
✎
15:44
|
(3) я уже того. грамм 150
|
|
5
ДенисЧ
12.07.15
✎
15:49
|
(4) Это не метла, это веничек...
Так что ещё не того...
|
|
6
spectre1978
12.07.15
✎
19:10
|
(0) если все-таки нужно запускать именно 1Сestart, то можно потом пытаться в цикле с паузами в 10 секунд открывать DumpIBFile на чтение. Файл 1С открывает эксклюзивно, т.е. пока у вас в скрипте происходит ошибка открытия - выгрузка не завершена. Как только открытие произойдет - значит, все, можно закрыть и выполнять дальнейшие действия.
|
|