@nazar21015 said in Хорошая ли защита у BAS от воровства скриптов?:
@UserTrue АНАЛогов нет
Аха, ну возьмут и закажут что бы им написали такой же как у вас и будет вам аналог xD
Скажите в чем причина удаления скриптов?Пишу проекты,сохраняю,потом отрываю и бац! - проект пуст!Как так?Антивируса нет,брэндмауэр отключен...Уже надоело из бэкапов вытаскивать и заново писать проекты.Сталкивался только единовременно около года назад с подобной проблемой.Удалился в тот момент только один скрипт.
@paini Скорей всего в 2 окна редактора БАС открываете.
@paini said in Удаление скриптов:
Подробнее можно?Делаю все как и ранее.Создал проект,открыл его в отдельном окне...
Скопируйте BAS в отдельную директорию

и запускайте в два окна

@paini Не обратили внимания на ссылку "Как сообщить об ошибке" при создании темы.
Самый быстрый способ получить ответ - создать новую тему с ответами на данные вопросы:
Краткое и содержательное описание проблемы.
Развернутое описание проблемы(по желанию)
Проблема происходит в режиме записи или запуска?
Проект с минимальным количеством действий, который демонстрирует ошибку(можно в личку)
Лог БАС.
Скриншот(ы).
Дополнительные файлы/аккаунты/прокси, которые нужны для запуска проекта(можно в личку).
Версия БАС.
Версия операционной системы.
С faq ознакомлен, поиском пользовался.
Всем привет!
Аналогичная хрень. И не в первый раз. Сам скрипт (во вкладке "Скрипт") ни куда не исчез и даже запускается и выполняется. А вот вкладка сценария пуста. И кнопки управления тоже отсутствуют. Т.е. запустить его в режиме записи я не могу.
В бэкапах та же беда. Последние бэкапы имеют ту же проблему что и основной файл, т.е. пустое окно сценария. Более ранние (например, утренние) бэкап версии файла открываются нормально, но они естественно не содержат последних внесённых изменений.
Выглядит всё так:

Версия 21.9.2, но это несколько раз случалось и на предыдущих версиях. Переустанавливать не пробовал.
Такое ощущение, что случайно нажал какую то клавишу и содержимое окна оказалось скрытым.
Есть у кого нибудь предположения что это может быть?
Повторюсь: в режиме запуска работает, а в режиме записи окно сценария пустое.
@nevolshebnik said in Удаление скриптов:
Всем привет!
Аналогичная хрень. И не в первый раз. Сам скрипт (во вкладке "Скрипт") ни куда не исчез и даже запускается и выполняется. А вот вкладка сценария пуста. И кнопки управления тоже отсутствуют. Т.е. запустить его в режиме записи я не могу.
В бэкапах та же беда. Последние бэкапы имеют ту же проблему что и основной файл, т.е. пустое окно сценария. Более ранние (например, утренние) бэкап версии файла открываются нормально, но они естественно не содержат последних внесённых изменений.
Выглядит всё так:Версия 21.9.2, но это несколько раз случалось и на предыдущих версиях. Переустанавливать не пробовал.
Такое ощущение, что случайно нажал какую то клавишу и содержимое окна оказалось скрытым.Есть у кого нибудь предположения что это может быть?
Повторюсь: в режиме запуска работает, а в режиме записи окно сценария пустое.
Скорее всего вы в режиме записи одновременно правили что то и в тексте кода скрипта и в действиях визуального конструктора. В таком случае может не правильно сохранится техническое описания действия для рабочей зоны BAS (зелёная строка, начиняющаяся с /*Dat:)
Приведу пример на будущее, чтобы можно было ссылаться.
Вот простой скрипт состоящий из 5 действий "лог"

Тестовый скрипт
Открываем код скрипта и видим код первого действия:
section_start("", 548944399)!
/*Dat:eyJzIjoibG9nIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IkxvZ1RleHQiLCJ0eXBlIjoiY29uc3RyIiwiZGF0YSI6ItCX0LTQtdGB0YwiLCJjbGFzcyI6InN0cmluZyJ9XX0=*/
log("Здесь")
section_end()!
В строке /*Dat:
/*Dat:eyJzIjoibG9nIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IkxvZ1RleHQiLCJ0eXBlIjoiY29uc3RyIiwiZGF0YSI6ItCX0LTQtdGB0YwiLCJjbGFzcyI6InN0cmluZyJ9XX0=*/
находится закодированный в base64 json описания кода действия для отображения в рабочей зоне BAS'a
{"s":"log","v":1,"f":[],"uw":"0","ut":"0","uto":"0","um":"0","d":[{"id":"LogText","type":"constr","data":"Здесь","class":"string"}]}
Если испортить json строку, или просто удалить часть символов технического описания действия из кода
/*Dat:eyJzIjoibG9nIiwidiI6MSwiZiI6WoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IIjpbeyJpZCI6IkxvZ1RleHQiLCJ0eXBlIjoiY29uZGF0YSI6ItCX0LTQtdGB0YwiLCJjbGFzcyI6InN0cmluZyJ9XX0=*/
то рабочая зона окажется пуста, даже без кнопок навигации:

так как это техническое описание действий нужно только для режима "записи", то в режиме "запуска" скрипт работает без ошибок:

Тестовый "испорченный" скрипт
Если невалидный json технического описания находится в функции

то зайти в эту функцию не получится:

Тестовый скрипт без ошибки
тестовый скрипт с ошибкой
@support в курсе, и сказал, что если подобные случаи будут повторятся, то он исправит.
Добавлю сюда решение проблемы с повреждённым техническим описанием действий. Возможно оно подойдёт и для лайфхаков, но сама проблема появляется на форуме крайне редко, по этому оставлю решение здесь.
Скрипт всего в 3 действия:

Находит регуляркой все технические описания действий и удаляет, если json в base64 битый
IsJsonString = function (str) {
try {
JSON.parse(base64_decode(str));
} catch (e) {
return false;
}
return true;
}
var re = new RegExp("\\/\\*Dat:(.*?)\\*\\/", "g")
[[RESULT]] = [[FILE_CONTENT]].replace(re, function (match, p1) {
if (IsJsonString(p1)) {
return match
}else{
return
}
});
Сам скрипт
Вот так выглядит результат работы скрипта над скриптом с "ошибкой":
