ExtScriptCompilerJP

Просмотр 15 сообщений - с 121 по 135 (из 139 всего)
  • Автор
    Сообщения
  • #35259
    manjey73
    Участник

    Ancor по окнам и изменение областей не работают.

    И все таки, без дубля компиляции Scripts возможно? То есть Сервер запущен — ОК, используем то, что скомпилировал Сервер.
    Сервер не запущен — СТОП, тогда компилируем сами с выводом предупреждения, что Сервер в стопе.

    #35260
    JurasskPark
    Участник

    Не понял, если честно…
    Что значит «дубль компиляции» и «используем то что скомпилировал Сервер»?
    Можно подробнее как для ребенка.)

    #35262
    manjey73
    Участник

    Если сервер уже запущен и его статус Норма, то все скрипты, которые мы можем использовать уже в памяти.
    А тут кажется ещё раз компилирует то, что есть уже.

    #35263
    manjey73
    Участник

    Не совсем понял со строками ошибок, кинул нечто свое, получил ошибки, но гляжу по строкам, это явно не номера строк прописанного кода.

    #35264
    JurasskPark
    Участник

    Ладно. Со строками ошибок — надо из всего скрипта (с добавленными using, namespase) вычесть положение текущего кода — принято.

    А вот то что сервер работает. А вы взяли и добавили код в системные группы свой. И он перестал работать. И проблема уже не только в вашем проверяемом коде, но и который идет по умолчанию.
    Поэтому все равно не понимаю, смысл «работает сервер, остановлен или не запускается. 🙂 нужно проверять весь скрипт из всех групп.

    #35265
    manjey73
    Участник

    Да я к тому, что основное назначение всё-таки проверка кода в рамках синтаксиса, и указание точек ошибок именно введённого кода, а не общего.
    А уже потом возможности попыток запуска.
    В моем случае это нереально, так как запускать надо много чего, а так же входных и выходных переменных может быть много.

    Вообще если удастся модуль натравить на использование кода из Scripts тогда это все будет важным. Что касается запуска, от логических ошибок кода нет страховки вообще пока в текущей версии. Модули не исполняются в «песочнице» как драйвера, к сожалению.
    Как бы смысл вашего расширения тогда становится в использовании его без установки VisualStudio.
    з.ы. про предложение кода в процессе написания я вообще молчу 😀

    #35271
    JurasskPark
    Участник

    http://jurasskpark.ru/pubimg/up/173003975388c1807.png

    😀 Все совпадения просто случайны и никого не хотят оскробить.)))

    #35273
    manjey73
    Участник

    Так в этом же и смысл, прежде, чем перенести в Скрипты, убрать ошибки синтаксиса. И протестировать то, что ещё можно протестировать.
    Сложный код, особенно код класса вряд ли получится запустить.
    А логику проверить вообще невозможно.

    У меня сервер лег тогда через несколько дней, выскочил из индексации массива.

    • Этот ответ был изменен 1 месяц, 1 неделя назад от manjey73.
    #35276
    JurasskPark
    Участник
    #35277
    manjey73
    Участник
        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')

    Вот тут оказалось непонятным, откуда он взял индекс, при этом не указал номер строки ?

    #35278
    manjey73
    Участник
    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')

    То же неясно что и откуда ноги растут, при этом скрипты рабочие и проверенные

    #35279
    JurasskPark
    Участник

    И ничего не подсветил?

    #35281
    manjey73
    Участник

    Неа. Просто вот такие ошибки и все.
    Когда кинуд скрипт BenzScaler, который использует в расчетах Scaler то подсветил все строки, что Scaler не найдет.
    Но при добавлении туда же в код непосредственно скрипта Scaler то же самое, Parameter ‘type’

    Хотя там нет сторонних скриптов.
    Кстати интересно поведение, когда входных параметров Х, а внутри еще есть SetVal или SetData.

    #35282
    JurasskPark
    Участник

    http://jurasskpark.ru/pubimg/up/1730101677e68a079.png
    http://jurasskpark.ru/pubimg/up/173010174244996dd.png

    Компиляция и выполнение кода прошло без проблем.
    Скрины нужны)

    #35283
    manjey73
    Участник

    ААА, так для проверки синтаксиса надо выбирать метод все равно?
    А просто ничего не выбирая жал — Проверить и все.

    Может как-то разделить мух от котлет — Синтаксис, Проверка кода (если вообще возможно)

Просмотр 15 сообщений - с 121 по 135 (из 139 всего)
  • Вы должны авторизироваться для ответа в этой теме.