WSH функция не запускается во второй раз.

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Kopelkord
Сообщения: 3
Зарегистрирован: 01 дек 2005, 08:18
Контактная информация:

Есть функция для проверки доступности серверов. Если вызывать ее один раз - работает, во второй раз выдает ошибку Function Expected. Возможно проблема в передаче параметров..... Заранее спасибо!


function IsThisComputerOnLine(sComputer)
{
var sOut;
var oShell = new ActiveXObject("WScript.Shell");
var oScriptExec = oShell.Exec("ping -n 1 -w 100 -l 64 " + sComputer);

sOut=oScriptExec.StdOut.ReadAll();

if (sOut.indexOf("=64") != -1)
{
IsThisComputerOnLine=-1;
}
else
{
IsThisComputerOnLine=0;
}
return IsThisComputerOnLine;

}

var dc6=IsThisComputerOnLine("192.168.101.7");
// здесь выдает ошибку
var dc1=IsThisComputerOnLine("192.168.101.6");
Zroman
Сообщения: 75
Зарегистрирован: 20 апр 2005, 19:23
Откуда: Киев

Это вообще на каком языке?
На большинстве языков возможны проблемы, если имя переменной совпадает с именем функции.
И вообще, там где ты присваиваешь "IsThisComputerOnLine=-1(0);" можно сразу писать "return -1(0);"
Kopelkord
Сообщения: 3
Зарегистрирован: 01 дек 2005, 08:18
Контактная информация:

язык? Windows Script Host - (jscript)-удобно при создании скритов для доменных политик. ( В windows создать файл с расширением js, скопировать туда и запустить.) Если последнюю строку закомментарить и в теле функции написать какой нибудь вывод, например WScript.Echo(sComputer), то функция работает, второй раз - не хочет.
Насчет присваивания - "IsThisComputerOnLine=-1(0);" можно сразу писать "return -1(0);" - так и сделаю.
Fktrc
Сообщения: 40
Зарегистрирован: 20 фев 2004, 11:22
Откуда: Кемерово
Контактная информация:

Классическая ситуация "Сам себе злобный буратино".
После выполнения IsThisComputerOnLine=-1; идентификатор IsThisComputerOnLine представляет уже не функцию, а переменную со значением -1.

PS: видны уши турбопаскаля :)
PPS: но и это может оказаться полезно - чтобы организовать одноразовую функцию :) )
Kopelkord
Сообщения: 3
Зарегистрирован: 01 дек 2005, 08:18
Контактная информация:

Обалдеть! Спасибо!!!
Ответить