Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: "Мелкие" ошибки  (Прочитано 23072 раз)

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
"Мелкие" ошибки
« : 11 Июля 2017, 13:05:42 »
Поскольку иногда находятся незначительные ошибки, то ради них не хочется открывать отдельную тему. Поэтому тему создал для себя, но и другим предлагаю сообщать о таких ошибках здесь.

Первая ошибка.
Почему-то если, после любого слова вплотную поставить фигурные скобки, то оно окрашивается в зеленый цвет комментария. Хотя это ни на что не влияет. И вообще  окрашивание фигурными скобками комментария иногда ведет себя непредсказуемо. После их удаления, часть кода иногда остается окрашенной. Правда после компиляции окрашивание исчезает. Также ни на что не влияет.

Вторая ошибка. Неверное расположение списка доступных методов на экране. Вызывается по Ctl + пробел. Окно располагается так, что первая строчка окна закрывается строкой с названием процедуры и ее не видно. Это ошибка, потому что окно позиционируется, относительно положения курсора так, чтобы список был всегда виден полностью. Когда я целенаправленно пытался ее вызвать, у меня не получалось. Я и сейчас не знаю, почему оно сбивается.

Третье. Может это и не ошибка. Но мне кажется это неправильно, что когда ставишь точку в комментарии вызывается тот самый список доступных методов. Я хочу просто поставить точку в предложении, жму пробел. А мне добавляется .sender.
« Изменён: 11 Июля 2017, 13:19:26 от TeNQ »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: "Мелкие" ошибки
« Ответ #1 : 12 Июля 2017, 09:21:14 »
Здравствуйте.
Спасибо за список замечаний по скаде. Внесли в список на доработку и будем постепенно устранять их в очередных обновлениях.

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #2 : 11 Августа 2017, 13:31:14 »
В редакторе я хочу поправить позицию части кода. Нажимаю Ctrl + Shift + U. Смещаю. Все ок. Но, перехожу на другой скрипт и возвращаюсь, смещение пропадает - код на исходной. Пробовал сохранять после редактирования. Не помогает. И еще что интересно. Смещаю код, нажимаю Ctrl + z. А действие смещения не отменяется. Никакой реакции. Как будто редактор считает, что и действия никакого не было.
« Изменён: 11 Августа 2017, 13:49:41 от TeNQ »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: "Мелкие" ошибки
« Ответ #3 : 11 Августа 2017, 17:30:49 »
TeNQ, действительно смещение не принималось за действие. В ближайшем обновлении будет исправлено.

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #4 : 16 Августа 2017, 15:55:18 »
Здравствуйте.
Очень похожая проблема как со смещением в версии 2.2.3.0 есть с заменой по Ctrl+пробел в версии 2.2.4.0. Я заменял константы цвета ClRed, например, на ClGrey  и не мог вернуть по Ctrl + z на исходное. Также не всегда сохраняется ввод при переходе на другой скрипт.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: "Мелкие" ошибки
« Ответ #5 : 17 Августа 2017, 09:51:04 »
Здравствуйте. Спасибо, исправим.

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #6 : 17 Августа 2017, 14:30:37 »
В списке процедур по Ctrl+Пробел нет процедур GetFieldByName(), GetButtonByName(), GetPipelineByName(), GetLineByName() и т.д.
Также не совсем понятно как в этот список добавляются локальные переменные. Я объявил переменную, а в списке ее нет. Скомпилировал - нет, сохранился - нет. Открыл проект заново - нет. Перезапустил редактор - нет. Забил и забыл, как-то посмотрел, а она появилась в списке. Так то удобно, но нестабильно работает.
« Изменён: 17 Августа 2017, 14:34:20 от TeNQ »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: "Мелкие" ошибки
« Ответ #7 : 17 Августа 2017, 14:33:44 »
Цитировать
Также не совсем понятно как в этот список добавляются локальные переменные. Я объявил переменную, а в списке ее нет. Скомпилировал - нет, сохранился - нет. Открыл проект заново - нет. Перезапустил редактор - нет. Забил и забыл, как-то посмотрел, а она появилась в списке. Так то удобно, но нестабильно работает.
Компилятор не сможет получить локальные переменные в том случае, если код содержит ошибки. Если у Вас есть пример кода без ошибок (т.е. который успешно компилируется), но в котором локальные переменные все равно не видны, то покажите такой пример, мы внесем исправления.
« Изменён: 17 Августа 2017, 14:34:15 от Simple-Scada »

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #8 : 17 Августа 2017, 14:49:00 »
Цитировать
Компилятор не сможет получить локальные переменные в том случае, если код содержит ошибки. Если у Вас есть пример кода без ошибок (т.е. который успешно компилируется), но в котором локальные переменные все равно не видны, то покажите такой пример, мы внесем исправления.
На самом деле это не совсем удобно. Я правлю код и пока он не завершен, там могут быть ошибки. Зачем это должно мешать добавлять корректно объявленные переменные в список.
Пример кода без ошибок. В трех случаях в списке есть объявленные переменные, в одном случае список пуст. Хотя код компилируется без ошибок. Видео в архиве, т.к. больше 3мб.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: "Мелкие" ошибки
« Ответ #9 : 17 Августа 2017, 15:08:12 »
Обновленные файлы для процедур GetFieldByName(), GetButtonByName() во вложении. Можно скопировать их с заменой в папку "Libraries\".

Цитировать
На самом деле это не совсем удобно. Я правлю код и пока он не завершен, там могут быть ошибки.
Сейчас локальные переменные/константы/типы берутся из токенов компилятора после лексического анализа кода. Поэтому в коде до курсора (после курсора ошибки допускаются) ошибок быть не должно, иначе полного разбора не произойдет. В будущем возможно добавим выделение локальных переменных отдельным проходом, или изменим способ прохода.

Цитировать
Пример кода без ошибок. В трех случаях в списке есть объявленные переменные, в одном случае список пуст.
Как выяснилось, причина в том, что предыдущая стока заканчивается точкой. Исправим в ближайшем обновлении.
« Изменён: 17 Августа 2017, 15:15:53 от Simple-Scada »

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #10 : 17 Августа 2017, 16:18:43 »
Вот еще вариант, когда код без ошибок, а переменной в списке нет.
П.С. За кучу файлов извините, опять не влезло) Ехе`ник все соберет.

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #11 : 23 Августа 2017, 12:45:51 »
Здравствуйте.
После обновления 2.2.4.0 у меня несколько раз выходило окно - "Ошибка во время получения файла..." Выходит оно очевидно после попытки создания отчета, т.к. когда прибор переходит в "Стоп" формируется отчет.
Код: (delphi)
aReportName := 'Отчет по КПДС-' + aX +
                         DateTimeToFileName(aVvrTRM_StartIn.Value, '') +
                         ' по ' +
                         DateTimeToFileName(aVvrTRM_EndAt.Value, '');

//Формирую отчет
ReportExportAll('Отчет по КПДС-' + aX, aReportName, rfPDF);
При этом у меня вызывает вопрос путь по которому СКАДа пытается получить файл - Simple-Scada 2.2.1.0. Проект переезжает со старой версии на новую и пересохраняется. Сейчас у меня на ж/д. две версии текущая и предыдущая. Соответственно и папки с Simple-Scada 2.2.1.0 давно уже нет. Но почему вообще СКАДа туда обращается?
« Изменён: 26 Мая 2018, 10:43:44 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: "Мелкие" ошибки
« Ответ #12 : 23 Августа 2017, 13:00:30 »
Цитировать
Но почему вообще СКАДа туда обращается?
Видимо Вы указали эту папку как "Папка для принятых файлов" в Options.exe.

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #13 : 23 Августа 2017, 13:09:21 »
Посмотрел, так и есть. А как этот путь сохраняется? В новую версию я переношу только папку Projects и Pictures.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1165
    • Просмотр профиля
Re: "Мелкие" ошибки
« Ответ #14 : 23 Августа 2017, 14:03:09 »
Для того, чтобы при обновлении не нужно было выставлять все настройки заданные в Options.exe заново, они сохраняются в системной директории. Поэтому, замена или удаление папки Simple-Scada не влияет на сохранение настроек.