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

-
@paini Тогда проект вроде как жив, нужно разбираться почему не подгружается, на форуме были такие случаи, попробуйте поискать для начала. А почему бекапы не сохранились? Вы где их наличие проверяете? Бекапы делаются автоматически.
-
@romanbiz Я сам удивляюсь,почему такая аномалия произошла.Ранее всегда бэкапы помогали,а именно этого проекта нет.
-
проверяю в папке БАСа в projectbackups
-
@paini Советую скопировать текущий скрипт, дабы не потерять возможность его восстановления. И уже пытаться реанимировать работая с его кодом. Подозреваю что в самом коде какой-то баг, который не дается загрузится проекту.
-
Я теперь буду их как раньше на флэшку еще скидывать
-
Всем привет!
Аналогичная хрень. И не в первый раз. Сам скрипт (во вкладке "Скрипт") ни куда не исчез и даже запускается и выполняется. А вот вкладка сценария пуста. И кнопки управления тоже отсутствуют. Т.е. запустить его в режиме записи я не могу.
В бэкапах та же беда. Последние бэкапы имеют ту же проблему что и основной файл, т.е. пустое окно сценария. Более ранние (например, утренние) бэкап версии файла открываются нормально, но они естественно не содержат последних внесённых изменений.
Выглядит всё так:
Версия 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 } });
Сам скрипт
Вот так выглядит результат работы скрипта над скриптом с "ошибкой":