Снегопат https://snegopat.ru/forum/ |
|
Изучение реборна: вопросы и пожелания https://snegopat.ru/forum/viewtopic.php?f=3&t=720 |
Страница 1 из 1 |
Автор: | syuzyov [ 21 июн 2016, 23:22 ] |
Заголовок сообщения: | Изучение реборна: вопросы и пожелания |
В ходе изучения реборна повились некоторые вопросы и предложения, начну с общего. - Как лучше оформлять иши и предложения? https://snegopat.ru/main/reportlist? Или http://snegopat.ru:9005/ticket? - Если случайно доведется сделать что-то полезное, pull requests принимаются? Если да, то какой регламент? Какие требования? |
Автор: | syuzyov [ 21 июн 2016, 23:32 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
По репо: - Не совсем понятны "двойные стандарты" для вывода js-скриптов в репо: имхо или все аддины должны иметь list-описания, или должна быть возможность выводить аддины со всеми пооддерживаемыми расширениями. В любом случае кажется полезным для RepoSystem поддержать возможность указания нескольких расширений в mskForAuto. Для себя сделал так: Код: class RepoSystem {
... processRootFolder(maskForAuto: string, isStd: boolean) { + var masksArray = maskForAuto.split(/\s*;\s*/); + for (var maskidx = 0; maskidx < masksArray.length; maskidx++) { var files = FindFiles(this.root.path, masksArray[maskidx], false); for (var idx = 0; idx < files.Count(); idx++) { var file = files.Get(idx); if (file.Exist() && file.IsFile()) { this.processScriptFile(file, this.root, isStd); } } + } } |
Автор: | syuzyov [ 21 июн 2016, 23:36 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
Для списка доступных аддинов нет кнопки "Обновить", что очень неудобно при отладке и разработке. Жить конечно и так можно, но хочется удобства. |
Автор: | syuzyov [ 21 июн 2016, 23:39 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
Для списка аддинов напрашивается кнопка "Новый", по которой будет запрошено описание для нового скрипта (поля engine, uname, dname и т.д. в человеческом виде), затем сгенерирован текст шаблона скрипта, с сохранением в develop или custom на выбор. |
Автор: | syuzyov [ 21 июн 2016, 23:45 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
По лоадерам: - Напрашивается вынесение лоадеров в отдельный класс (еще желательно и в отдельный каталог в фс): до меня суть лоадеров как сущности дошла только после дополнительных разъяснений. Не думаю, что найдется много гениев, все схватывающих на лету, а порог для понимания реборна и так достаточно высокий оказался. |
Автор: | syuzyov [ 21 июн 2016, 23:47 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
- Реализовать вызов стандартных лоадеров ровно так, как должен был бы регистрироваться любой новый лоадер. Не уверен, что понял все правильно, но мне показалось, что они регистрируются способом, не отраженным в документации. |
Автор: | syuzyov [ 21 июн 2016, 23:54 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
Остальное пока придержу |
Автор: | syuzyov [ 23 июн 2016, 23:01 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
syuzyov писал(а): По лоадерам: - Напрашивается вынесение лоадеров в отдельный класс (еще желательно и в отдельный каталог в фс): до меня суть лоадеров как сущности дошла только после дополнительных разъяснений. Не думаю, что найдется много гениев, все схватывающих на лету, а порог для понимания реборна и так достаточно высокий оказался. По мере изучения as-части все встало на свои места - я просто не понимал, что сделано в dll, а что в as, сейчас уже более-менее ориентируюсь (понял, что сам дурак ). Можешь еще кратенько описать схему загрузки снегопата? В целом порядок такой: starter.exe -> snegopat.dll, -> as. Хотелось бы понять, какие модули и функции в as дергаются при загрузке dll, и в каком порядке, ну то есть получить общее представление о том, когда и где as начинает работать. В первую очередь хотелось бы понять, откуда начинается исполнение as вообще. Это, конечно, не горит, пока приоритет - адаптация односкриптовой обертки. |
Автор: | syuzyov [ 24 июн 2016, 14:00 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
Цитата: Можешь еще кратенько описать схему загрузки снегопата? В связи с появлением отладчика as вопрос снимается, спасибо. |
Автор: | orefkov [ 24 июн 2016, 15:25 ] |
Заголовок сообщения: | Re: Изучение реборна: вопросы и пожелания |
Ну, всё-равно коротенько опишу. Стартер запускает 1С, внедряя туда inject.dll. Инжектор, если 1С запускается в режиме конфигуратора, загружает snegopat.dll. Если 1С запускает дочерний процесс с именами 1cv8.exe, 1cv8s.exe, 1cv8c.exe, 1cestart.exe - снова внедряет туда себя же. Потому многие антивиры на него и ругались. snegopat.dll при загрузке начинает через WinAPI отслеживать создание процессом окон, и когда создается окно с классом V8NewLocalFrameBaseWnd (это окно заставки 1С): - отключает мониторинг создания окон - подцепляет к окну заставки свою надпись - инициализирует движок AS - регистрирует в движке AS свою реализацию API для работы из AS со строками (тип string), с COM (Variant, Dispatch и т.п.), ActiveScript Engine. - обработав файлы *.v из core\v8api, создает для движка AS прослойку для вызовов методов из 1Сных дллок - загружает все файлы *.as из каталогов core\engine и mods в единый модуль на AS и компилит его. В процессе компиляции для глобальных объектов AS, имеющих конструкторы - они вызываются. - вызывает функцию main из этого скомпиленного модуля. Всё остальное уже рулится через AS. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |