Страница 1 из 1

Вопрос по JScript. Освобождение ресурсов.

Добавлено: 04 мар 2005, 16:27
ILikeThisGame
Может вопрос не в тот форум, тогда простите, но все же...
Скрипт :
var wsh = WScript.CreateObject("WScript.Shell");
var fso = WScript.CreateObject("Scripting.FileSystemObject");
...

var fc, ff;
ff = fso.GetFolder(strDirSource);

fc = new Enumerator(ff.Files);
for (; !fc.atEnd(); fc.moveNext())
{
try
{
strExtract = "arj.exe x -y " + fc.item() + " " + strDirTemp + " table.dbf ";
wsh.run (strExtract, 0, true);
}
catch(e)
{
fileLog.WriteLine("Func. ExtractFiles, Error : " + e.description);
return retCode;
}
}
...
wsh = null;
fso = null;

WScript.Quit();
Скрипт в процессе выполнения отъедает порядка 20 мег памяти и не возвращает ее.
В списке процессов присутствует либо процесс DLLHOST либо процесс ARJ. Который и захватил эти самые 20 метров. Если их прибить вручную, то все ОК.

Вопрос - как по завершении скрипта освободить ресурсы ?
ОС - Windows 2000 Advanced Server SP4

Добавлено: 05 мар 2005, 11:38
UUU
Даже не зная языка, можно сделать следующие предположения:
1.присвоение
wsh = null;
fso = null;
не освобождают память. Должно быть что-то типа
FreeObject.

2. запуская wsh.run (strExtract, 0, true);
не ожидается завершение работы, поэтому запущенный арзхиватор не может выгрузиться.