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:47, 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.