[offtop]Я немного пьяный, поэтому сильно занудный.[/offtop]
Номер ноль: Схема местами (сам ведь знаешь, какими) представляет собой "ядерный писец" ((с) народ). "В грязном коде баги водятся, и чем грязнее код - тем толще баги".
Номер раз: Зачем связь onStop -> doStop? Это что за онанизм, простите мой французский?
Номер два: Для кого nesco запилил компонент EnvVars?
Вот эта колбаса
может быть заменена на вот такую аккуратную связку:
И кстати, определять этот путь можно один раз при старте программы, а дальше запихать его в GlobalVar. Есть такое правило в талмудах на тему "как стать настоящим программистом": DNR - Do Not Repeat, не повторяйся. Мои самые "любимые" баги (и поверь мне, я готов был сгореть на месте от стыда, когда меня носом в них тыкали!) возникали именно тогда, когда я этому правилу не следовал.
Номер три: Ещё раз DNR (каламбур, однако!). Повторять должен не ты, а твой комп: он не ошибается. Почувству разницу:
Add(MultiElement,16049185,1050,308)
{
}
BEGIN_SDK
Add(EditMulti,10413824,49,371)
{
EventCount=1
WorkCount=1
Width=538
link(doWork1,15214164:doEvent1,[(80,377)(80,510)])
}
Add(DirTools,13541774,427,455)
{
NoConfirmation=1
Point(doExists)
link(onOK,12907621:doCase,[])
link(Source,139965:Result,[(433,443)(370,443)(370,520)(307,520)])
}
Add(StrCat,139965,301,476)
{
Str2="bin"
link(onStrCat,13541774:doExists,[])
link(Str1,2863309:Var,[])
}
Add(GlobalVar,2863309,301,448)
{
Name="sysdir"
}
Add(Hub,15214164,91,504)
{
link(onEvent1,11307181:doEnum,[(175,510)(175,482)])
link(onEvent2,10413824:onEvent1,[(546,517)(546,377)])
}
Add(StrList,12526498,231,399)
{
Strings=#3:bin|6:config|8:coremods|4:mods|
}
Add(ArrayEnum,11307181,245,476)
{
link(onItem,139965:doStrCat,[])
link(Array,12526498:Array,[])
}
Add(Case,12907621,483,455)
{
Value=Integer(0)
link(onNextCase,13541774:doDelete,[(526,461)(526,435)(415,435)(415,475)])
}
END_SDK
Номер четыре: я уверен, что использовать StrList для чтения и записи бинарной информации - это плохая идея. Используй связку
и просмотри примеры в Wiki:
Примеры,
Примеры 2,
Примеры 3.
Номер пять: Правильно "Обн
аружено", а не "Обн
oружено". Спасибо хоть, что "пароль", а не "пороль"
Номер шесть: почему-то скрипт обновлений выдаёт ответ в два приёма (206 Partial Content с начальной кавычкой, затем 200 OK с "{ret: punt}"), это (по всей видимости) сбивает с толку HTTP_Get.
Пока хватит. Как это исправишь - выкладывай обновлённую схему, продолжим разговор.