Стартовая страница › Форумы › Разработка и интеграция › ExtScriptCompilerJP
- В этой теме 138 ответов, 5 участников, последнее обновление 1 месяц, 1 неделя назад сделано Mikhail.
-
АвторСообщения
-
27.10.2024 в 09:50 #35259manjey73Участник
Ancor по окнам и изменение областей не работают.
И все таки, без дубля компиляции Scripts возможно? То есть Сервер запущен — ОК, используем то, что скомпилировал Сервер.
Сервер не запущен — СТОП, тогда компилируем сами с выводом предупреждения, что Сервер в стопе.27.10.2024 в 10:13 #35260JurasskParkУчастникНе понял, если честно…
Что значит «дубль компиляции» и «используем то что скомпилировал Сервер»?
Можно подробнее как для ребенка.)27.10.2024 в 11:08 #35262manjey73УчастникЕсли сервер уже запущен и его статус Норма, то все скрипты, которые мы можем использовать уже в памяти.
А тут кажется ещё раз компилирует то, что есть уже.27.10.2024 в 11:09 #35263manjey73УчастникНе совсем понял со строками ошибок, кинул нечто свое, получил ошибки, но гляжу по строкам, это явно не номера строк прописанного кода.
27.10.2024 в 11:15 #35264JurasskParkУчастникЛадно. Со строками ошибок — надо из всего скрипта (с добавленными using, namespase) вычесть положение текущего кода — принято.
А вот то что сервер работает. А вы взяли и добавили код в системные группы свой. И он перестал работать. И проблема уже не только в вашем проверяемом коде, но и который идет по умолчанию.
Поэтому все равно не понимаю, смысл «работает сервер, остановлен или не запускается. 🙂 нужно проверять весь скрипт из всех групп.27.10.2024 в 11:46 #35265manjey73УчастникДа я к тому, что основное назначение всё-таки проверка кода в рамках синтаксиса, и указание точек ошибок именно введённого кода, а не общего.
А уже потом возможности попыток запуска.
В моем случае это нереально, так как запускать надо много чего, а так же входных и выходных переменных может быть много.Вообще если удастся модуль натравить на использование кода из Scripts тогда это все будет важным. Что касается запуска, от логических ошибок кода нет страховки вообще пока в текущей версии. Модули не исполняются в «песочнице» как драйвера, к сожалению.
Как бы смысл вашего расширения тогда становится в использовании его без установки VisualStudio.
з.ы. про предложение кода в процессе написания я вообще молчу 😀27.10.2024 в 17:36 #35271JurasskParkУчастникhttp://jurasskpark.ru/pubimg/up/173003975388c1807.png
😀 Все совпадения просто случайны и никого не хотят оскробить.)))
27.10.2024 в 19:01 #35273manjey73УчастникТак в этом же и смысл, прежде, чем перенести в Скрипты, убрать ошибки синтаксиса. И протестировать то, что ещё можно протестировать.
Сложный код, особенно код класса вряд ли получится запустить.
А логику проверить вообще невозможно.У меня сервер лег тогда через несколько дней, выскочил из индексации массива.
- Этот ответ был изменен 1 месяц, 1 неделя назад от manjey73.
27.10.2024 в 19:45 #35276JurasskParkУчастник28.10.2024 в 09:20 #35277manjey73Участникpublic class Hysteresis() { public bool EN; // входная переменная разрешающая работу программы public double inCnl, low, high; public bool mode = true; // По умолчанию нагрев = true, охлаждение = false public bool Q; // Выход гистерезиса public ushort cycle; // Задание цикла выполнения программы в мс public bool terminated = false; // Переменная остановки цикла для остановки программы и(или) для закрытия потока bool _mode; public void Run() { // Копирование входных переменных во внутренние при программы bool res = false; do { if (EN) { // Копирование входных переменных во внутренние в начале цикла программы _mode = mode; // Инициализация выходных переменных если требуется. res = Q; // для возможности задания retain при перезапусках // тело программы if (_mode) { if (inCnl < low) res = true; if (inCnl > high) res = false; } else { if (inCnl < low) res = false; if (inCnl > high) res = true; } // тело программы // Копирование выходных переменных из внутренних в конце цикла программы, для некоторых необязательно, будут обработаны программой Q = res; // Задание времени цикла Thread.Sleep(cycle); } } while (!terminated); } }
1 Error Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
Вот тут оказалось непонятным, откуда он взял индекс, при этом не указал номер строки ?
28.10.2024 в 09:24 #35278manjey73Участникpublic double Scaler (double input, double in_min, double in_max, double out_min, double out_max) { double out1 = 0; double out2 = 0; double output = 0; double diff = in_max - in_min; if (diff != 0) { if (input > in_max) out1 = in_max; else out1 = input; if (in_min > out1) out2 = in_min; else out2 = out1; output = (out_max - out_min) / diff * (out2 - in_min) + out_min; } return output; }
1 Error Value cannot be null. (Parameter 'type')
То же неясно что и откуда ноги растут, при этом скрипты рабочие и проверенные
28.10.2024 в 09:26 #35279JurasskParkУчастникИ ничего не подсветил?
28.10.2024 в 09:30 #35281manjey73УчастникНеа. Просто вот такие ошибки и все.
Когда кинуд скрипт BenzScaler, который использует в расчетах Scaler то подсветил все строки, что Scaler не найдет.
Но при добавлении туда же в код непосредственно скрипта Scaler то же самое, Parameter ‘type’Хотя там нет сторонних скриптов.
Кстати интересно поведение, когда входных параметров Х, а внутри еще есть SetVal или SetData.28.10.2024 в 10:49 #35282JurasskParkУчастникhttp://jurasskpark.ru/pubimg/up/1730101677e68a079.png
http://jurasskpark.ru/pubimg/up/173010174244996dd.pngКомпиляция и выполнение кода прошло без проблем.
Скрины нужны)28.10.2024 в 11:32 #35283manjey73УчастникААА, так для проверки синтаксиса надо выбирать метод все равно?
А просто ничего не выбирая жал — Проверить и все.Может как-то разделить мух от котлет — Синтаксис, Проверка кода (если вообще возможно)
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.