From OpenSCADAWiki
Jump to: navigation, search
Line 46: Line 46:
 
* HTTP: Расширен перечнем пользователей, разрешённых к аутентификации. mNoFull переименован в mNotFull.
 
* HTTP: Расширен перечнем пользователей, разрешённых к аутентификации. mNoFull переименован в mNotFull.
  
{{CntHdr|UI}}
+
{{CntHdr|Интерфейс Пользователя}}
* {QTCfg,Vision}: Main window and main dialogs (developing for Vision) size and splitter's properties storing and restoring were added.
+
* {QTCfg,Vision}: Добавлено сохранение и восстановление размера главного окна и главных диалогов (разработка Vision) и свойств разделителей.
* QTCfg: Fix vertical scalable widgets "Tables" and "Lists" by their placing at the end of the widgets stack. Prevented from high load at the respond waiting progress dialog.
+
* QTCfg: Исправлены вертикально-масштабируемые виджеты "Таблицы" и "Списки" путём их помещения в конец стека виджетов. Предотвращена высокая нагрузка на ожидании ответа диалога прогресса.
* VCAEngine: Different big (from the main task of the session) perioded widgets processing adapted to execution into different phases then to make the main task loading plainer and lesser at all. Added control for user action by its last action time.
+
* VCAEngine: Обработка различных виджетов с большой периодичностью (в главной задаче сеанса) адаптирована к исполнению в различных фазах чем нагружая основную задачу более равномерно и в целом меньше. Добавлен контроль действий пользователя по временем действия.
* QTStarter: Expanded for close (windows) and starting into the system tray. Significantly revised for the interface fully creation into the Qt events loop of exec() and WinControl functions moved to the StApp descendant of QApplication. Self menu of QTStarter with the Qt modules list was unified as the static storage of the actions for extending menus and toolbars of windows of the Qt modules and the system tray icon, placed also into the property "menuStarterAddr" of the application main object.
+
* QTStarter: Расширен закрытием (окон) и запуском в системном трее. Значительно пересмотрен на предмет полного создания интерфейса в цикле сообщений Qt exec() и функции WinControl перенесены в StApp, потомка QApplication. Собственное меню QTStarter, с перечнем модулей Qt, унифицировано на предмет статического хранилища действий для расширения меню и панелей инструментов окон Qt модулей и иконки системного трея, помещён также в свойство "menuStarterAddr" главного объекта приложения.
 
* Vision:
 
* Vision:
** The main window size was set to fit the master page size after return from maximizing or the full-screen and opening in the original size.
+
** Добавлена подстройка размера окна под размер главной страницы после возврата с максимизации или полного экрана и запуска в оригинальном размере.
** Runtime menu creation moved to whole mode that is full creation at needs and full clearing at not needs, for prevent the menu show at its inactive mode into some environments like Maemo and Unity.
+
** Создание меню режима исполнения изменено в полный режим, т.е. полное формирование при необходимости и полная очистка при её отсутствии; для предотвращения отображения меню в неактивном режиме в некоторых окружениях вроде Maemo и Unity.
** Added control for the runtime user by a visualizer specific attribute "userSetVis" of the main page and by expanding of the user's status widget and the selection dialog.
+
** Добавлен контроль за пользователем режима исполнения с помощью специфического для визуализатора атрибута "userSetVis" главной страницы, расширение виджета статуса пользователя и диалога выбора.
  
 
{{CntHdr|Special}}
 
{{CntHdr|Special}}
 
* FLibSYS: VArch::set() expanded for single value writing to the archiver of the archive.
 
* FLibSYS: VArch::set() expanded for single value writing to the archiver of the archive.

Revision as of 19:49, 23 April 2020

Other languages:
English • ‎mRussian • ‎Українська

Это обновление релиза 0.8 LTS исправляет около 30 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.

API
!!!!:Изменения:

  • SYS.*: Флаг TCfg::TransltText перенесен в TFld::TransltText а также использован вместо TFld::NoStrTransl, который удалён.
  • Транспорты: Замок общего доступа к выходному транспорту изменён на мютекс и аргумент "noRes" удалён из функции messIO() для предотвращения неожиданных выходов из критической секции запроса. Объект блокирования ресурса nRes и его функция nodeRes() удалены из объекта входного транспорта.

Дополнения:

  • SYS:
    • strEncode() расширена режимом "ToLower" для преобразования в нижний регистр.
    • Параметры командной строки дополнены предзагрузкой и прямым доступом-модификацией с помощью новой функции cmdOpt(), полное переключение из getCmdOpt() на cmdOpt().
    • Бинарное декодирование в strDecode() расширено значением аргумента "<text>" для формирования текстовой части справа.
    • XMLNodeObj: Дополнено функцией пользовательского API getElementsBy() — получения перечня узлов XML по имени тега или значению атрибута.
    • TArrayObj: arSet() адаптирован для добавления в конец массива по отрицательному индексу.
  • DAQ.{AMRDevs,ICP_DAS},Special.FLibSYS: Собственная имплементация функции atof() и strtod() в функции TSYS::str2real() и её короткой ссылке s2r() и для понимания обоих символов отделения дробной части реального числа "." и ",". DAQ.OPC_UA.libOPC_UA: Функция TSYS::str2real() помещена и использована в отдельной библиотеке. Отключена сейчас!
  • Транспорты: Добавлен общий протокол ВВ по входным и выходным транспортам, в ядро и все транспортные модули.
  • UI.VCAEngine: Дополнен функциями пользователя в пространстве сеанса: reqTm(), reqUser(), userActTm().

SYS

  • XMLNode
    • Исправление на предмет лишнего резервирования размера строки в кодировании сериализации, что приводило к значительной деградации её производительности, особенно на больших деревьях. ** Это должно значительно повысить производительность сетевого взаимодействия по XML.

Унифицирована и исправлена сериализацию в XHTML на предмет: предотвращения самозавершения тегов для "script", "div; предотвращения кодирования символов "'" и '"' в тексте (также для XML); кодирования UTF8 символа 0xA0 в " ".

  • TRegExp исправлен в функции match() на предмет предотвращения зависания и падения.
  • Версия библиотеки ядра установлена в 2:6:0. Модульная версия подсистемы "Транспорты" поднята до 10.
  • TConfig: Предотвращение рекурсии входа в cfgChange() по флагу mInCfgCh.
  • XMLNodeObj,XMLNode: Удаление дочерних узлов осуществлено с конца, для увеличения скорости этой операции.

БД

  • Добавлено конфигурабильное ограничение отображения содержимого таблиц, типично это 100 строк.
  • {SQLite,MySQL,PostgreSQL,FireBird}: Добавлено ограничение предзагрузки fieldSeek() в 100 записей для предотвращения продолжительного непрерывного подвисания.

Сбор данных

  • {DCON,ModBus,Siemens}: Объекты мютекса "enRes" и "reqRes" установлены в рекурсивные, от Алексея Бондарчука.
  • SoundCard: Значительно пересмотрен и исправлен для работы с реальным и виртуальным, вроде PulseAudio, оборудованием и проверен на частотах выборки до 192000.

Архивы

  • Архиваторы значений и сообщений дополнены измерением максимального времени обработки.
  • FSArch: Предотвращена многоразовая упаковка-распаковка файлов. Добавлена проверка и очистка от нулевых архивных файлов. Буферы архивации сообщений и информационных файлов значений сделаны безопаснее на предмет возможного чтения случайных данных.
  • DBArch: Дополнен пропуском ошибочных архивов значений.

Транспорты

  • {SSL,Sockets}.out: Функциональный замок ресурсов транспортов объединён с reqRes().
  • Входные транспорты дополнены измерением текущего и максимального времени запроса к протоколу, в режиме "Отладка (0)". Выходные транспорты дополнены измерением времени отклика, в режиме "Отладка (0)".

Протоколы

  • HTTP: Расширен перечнем пользователей, разрешённых к аутентификации. mNoFull переименован в mNotFull.

Интерфейс Пользователя

  • {QTCfg,Vision}: Добавлено сохранение и восстановление размера главного окна и главных диалогов (разработка Vision) и свойств разделителей.
  • QTCfg: Исправлены вертикально-масштабируемые виджеты "Таблицы" и "Списки" путём их помещения в конец стека виджетов. Предотвращена высокая нагрузка на ожидании ответа диалога прогресса.
  • VCAEngine: Обработка различных виджетов с большой периодичностью (в главной задаче сеанса) адаптирована к исполнению в различных фазах чем нагружая основную задачу более равномерно и в целом меньше. Добавлен контроль действий пользователя по временем действия.
  • QTStarter: Расширен закрытием (окон) и запуском в системном трее. Значительно пересмотрен на предмет полного создания интерфейса в цикле сообщений Qt exec() и функции WinControl перенесены в StApp, потомка QApplication. Собственное меню QTStarter, с перечнем модулей Qt, унифицировано на предмет статического хранилища действий для расширения меню и панелей инструментов окон Qt модулей и иконки системного трея, помещён также в свойство "menuStarterAddr" главного объекта приложения.
  • Vision:
    • Добавлена подстройка размера окна под размер главной страницы после возврата с максимизации или полного экрана и запуска в оригинальном размере.
    • Создание меню режима исполнения изменено в полный режим, т.е. полное формирование при необходимости и полная очистка при её отсутствии; для предотвращения отображения меню в неактивном режиме в некоторых окружениях вроде Maemo и Unity.
    • Добавлен контроль за пользователем режима исполнения с помощью специфического для визуализатора атрибута "userSetVis" главной страницы, расширение виджета статуса пользователя и диалога выбора.

Special

  • FLibSYS: VArch::set() expanded for single value writing to the archiver of the archive.