Page 1 of 1

как очистить все значения uo.setGlobal()

Posted: 2007-12-15 12:57:26
by NBKua
собстно САБЖ
забиваются в память они

Code: Select all

uo.setGlobal( 't:' + str( x + cx ) + "," + str( y + cy ), 'empty' )


т.е. постоянно меняеться первая часть... но настает момент когда их нада очистить...
имееться необходимость переодически чистить это все Г... ;)
так сказать почистить память инжи ;)

Posted: 2007-12-15 17:28:01
by Destruction

Code: Select all

var i, j
for i = 0 to 10000
    for j = 0 to 10000
        uo.setGlobal( "t" + str( i ) + "," + str( j ), "N/A" )
    next
next


10k^2 = дофига. А почистить иначе никак.. Ищи другие способы - например используй переменные EasyUO - они лежат в реестре => можно по-быстрому все стереть.. наверное.. :)

Posted: 2007-12-15 22:52:08
by NBKua
Да я вобщем прикинул, можна
1. добавить еще одну глобалку которая будет увеличивать "t"
было t1 т.е. круг закончился стало t2 и т.д. но так всеравно раз в сутки минимум нада клиент перегружать...
2. писать координаты в реестр и на новом круге или чистить реестр или еще чего-то...

Posted: 2007-12-15 23:54:22
by Destruction
Меня цитируем ?)

Только по-первому пункту вы не так поняли..

Posted: 2007-12-16 11:21:27
by NBKua
я еще невидел твоего ответа в теме со скриптом когда писал свой тут, так что не цитирую )

давай перекинемся в ту тему и там будем обсуждать достоинства и недостатки )

Posted: 2007-12-19 23:47:49
by Mihail
ну очистить-то из памяти инжекта по всей видимости не получится (в том числе и присваивая значение N\A) - толку-то? переменная как хранилась так и хранится в памяти только с другим значением.. лучше уж пустую строчку.. хотя и это тоже объявленную в этой сессии глобальную переменную, как я понимаю не уберет..
Но как было замечено выше переменные можно (и наверное в случае с инжектом, в котором есть такие замечательные дефолтные возможности как авто-переполнение буфера :D, даже нужно хранить в реестре :)
Правда возникает вопрос - как чистить реестр от мусора.. - приходится придумывать из раздела "сделай сам".. утилитка (зеркало) для удаления заданных ключей ИзиУО - кидаем в C:\WINDOWS\system32 и запускаем из инжекта:

Code: Select all

uo.exec("launch rmEasyUO 100") ; где 100 имя ключа


p.s. если у кого будет требовать какие-нить длл-ки (ну все может быть.. т.к. VB, GUI, все дела... :) - отсюда кстати и вес такой ) читаем сверху