Имя: Пароль:
1C
1С v8
WSH и метод sleep. Проблема
0 Лентяй
 
29.07.11
23:39
Не получается вставить задержку при выполнении WSH. Гугл говорит что есть метод sleep. Вот пишу такой код:

Shell = Новый COMОбъект("WScript.Shell");
Shell.AppActivate("Окно1");
Shell.Sleep(500);

Отвечает метод sleep не обнаружен. Как выкрутиться?
1 andrewks
 
29.07.11
23:50
dynwrap почему не хочешь использовать?
2 Лентяй
 
29.07.11
23:56
wsh обычно юзаю, всегда справлялся. Да и слип как то раньше работал, не могу вспомнить как..
3 kittystark
 
30.07.11
00:13
видимо речь про wscript.sleep, но так можно в vbs/js
как вариант юзай ping с указанием таймаута
4 Лентяй
 
30.07.11
00:18
(3) с пингом идея хорошая, но как заставить выполняться тот код, который идет после пинга только после того, как пинг закончится?
5 andrewks
 
30.07.11
00:23
(2) метод Sleep() не принадлежит объекту Shell, он принадлежит WScript. или оборачивай через выполнение скрипт-файла, или вот здесь есть жутко извратный способ получения именно WScript от Абрахамса:
v8: Аналог Sleep()

но лучше всего всё-таки дюнаврап

Wrapper=Новый ComОбъект("DynamicWrapper");
Wrapper.Register("KERNEL32.DLL","Sleep","i=l","f=s");
Wrapper.Sleep(мсек);
6 Лентяй
 
30.07.11
00:30
(5)спасибо
7 smaharbA
 
30.07.11
11:57
получить доступ к объекту WScript со всеми его методами из адинес не составит труда
8 andrewks
 
30.07.11
13:07
(7) если есть способ посвежее, чем в (5), то колись :-)
9 smaharbA
 
30.07.11
13:44
(8) есть, но суть та же
10 KRV
 
30.07.11
14:35
"Суть оне в песок.." "Имя, сестра, имя!!!..."
11 Torquader
 
30.07.11
19:46
Создать объект на основе Windows Script Component и забрать WScript из него.