|
|
|
| В .hta-файле несколько раз нужен например объект ActiveXObject("WSCRIPT.SHELL")
вроде уже решил не создавать его в глобальной зоне видимости, а внутри функций использовать delete
Но например такой .js-файл
function printenv() {
var obj = new ActiveXObject("WSCRIPT.SHELL"),
args = ["Process", "User", "System"],
item, e; //enumerator
for (var i=args.length-1; i>=0; i--) {
var r = '';
for (e=new Enumerator(obj.Environment(args[i])); !e.atEnd();e.moveNext()) {
r+=e.item()+'\n';
}
obj.popup(args[i]+'\n\n'+r, 10, 'test', 320)
}
delete obj;
obj=null;
}
printenv();
| вроде нормально работает если просто кликнуть по нему мышкой
, а если компилировать.
>set path=C:\Windows\Microsoft.NET\Framework\v2.0.50727;%path%
>jsc.exe /t:winexe x.js
| , например.
Показывает x.js(12,9) : warning JS1164: "obj" не подлежит удалению
JS1164. Удаление элемента не предусмотрено
Обновлен: Ноябрь 2007
JS1164: Member is not deleteable
В коде выполнена попытка удалить член объекта, который не может быть удален.
Можно удалять только свойства "expando"
(свойства, которые динамически добавляются в объекте).
Исправление данной ошибки
* Не пытайтесь удалить член объекта.
|
Как лучше делать в hta ккоторый висит постоянно? оптимальнее сделать один глобальный объект? | |
|
|
|
|
|
|
|
для: heed
(20.02.2012 в 09:53)
| | Читайте мануал:
оператор delete -- Deletes a property from an object, or removes an element from an array.
Удаляет свойство объекта (но не сам объект), либо элемент массива.
метод Delete () -- Deletes a specified file or folder.
Удаляет файл или папку на жёстком диске.
-----
Никаких других ДЕЛИТ'ов в Яваскрипте нет. | |
|
|
|