From OpenSCADAWiki
< Documents | Release 0.9
This update of the 0.9 LTS release fixes about 70 bugs and appends MANY improvements with several of significant-conceptual ones, which you can read wholly in the update ChangeLog.
Automation Linux distributive of the project OpenSCADA
- updating TDE to 14.0.13 and 14.1.0 — adaption all patches-fixes and for Debian 11 only;
- initial appending the Calendar System from the World Creation at which year 2023 is 7531;
- fixing KDesktop, TDE HW Manager, noatun, TDESVN, basket, KGpg, KPDF, disabling thumbnails for video, than appending the new patched packages "tdelibs-trinity", "tdebase-trinity", "tdegraphics-trinity", "tdesvn-trinity" and "basket-trinity" to the distributive collection;
- some improving and updating KCalc, holiday_ua, korganizer;
- complete translation to Ukrainian for KDiff3 and showfoto;
- packages building with own patches for Debian 11,10,9,8,7 before adaption the release TDE 14.1.0;
- switching the Debian 9 base to the archive repository, after its official archiving;
- appending the Debian 11,10,9 distributives by packages of RHVoice — Speech synthesizer with many voices for ten languages;
- translation the subproject page to Ukrainian.
Main WWW-resources, documentation of the project and subprojects
- completely revised and translated to Ukrainian the "Server and hosting infrastructure of the OpenSCADA project" document;
- fixed for the Site working in WebBrowsers of old embedded devices like to Nokia N900, N9;
- Maemo 5 (Nokia N900) restored with moving to the CSSU-Thumb Toolchain grounded on GCC 4.7.2 from Linaro; and the project page updated;
- completely revised the "API" document in the section "Control Interface and dynamic tree of program objects" and the section "Service commands-functions" moved there as a subsection, the subsection "Service commands-functions" completely rewrote and appended by, and all these translated in Ukrainian;
- started the new subproject Open Phone — PinePhone;
- completely revised and actualised for the "How to Create OpenSCADA module";
- started the new subproject Graphical PLC Programming in OpenSCADA;
- the building scripts of the project Automatic Builder of OpenSCADA completely revised and unified with the subproject document updating and translation to Ukrainian.
New and significantly updated parts
- OpenSCADA Core: 3:12:0 => 3:13:0
- (Productivity optimisation of the VCA interface, Unification the associated output transports to the input one AND the generic output transport connection, Messages Translation — fixes of the conceptual changes of the previous update)
- OpenSCADA "Transport" subsystem: 18 => 19
- DAQ.DAQGate: 2.9 => 2.12
- DAQ.JavaLikeCalc: 5.4 => 5.6
- DAQ.LogicLev: 2.6 => 2.7
- {DAQ,Protocol}.ModBus: 3.4 => 3.7, 2.9 => 2.10
- Archive.FSArch: 3.7 => 3.8
- Transport.Sockets: 4.3 => 4.5
- Protocol.SelfSystem: 1.9 => 1.10
- Protocol.UserProtocol: 1.5 => 1.6
- BD.PostgreSQL: 3.0 => 3.1
- UI.QTStarter: 5.12 => 5.14
- UI.QTCfg: 5.9 => 5.13
- UI.VCAEngine: 7.8 => 7.11
- UI.Vision: 8.0 => 8.6
- UI.WebCfgD: 2.3 => 2.5
- UI.WebVision: 6.6 => 6.8
- LibsDB.OscadaLibs.LowDevLib: 1.4 => 1.5
- mbBase: 1.0 => 1.2
- LibsDB.OscadaLibs.base.initConAssociateTrs: 1.1 => 1.2
- LibsDB.vcaBase.Main
- RootPgSo: 2.5 => 2.6
- storeHouse: 1.1 => 1.3
- {grpGraph,grpGraph10}: 1.4 => 1.5
- grpCadr: 1.2 => 1.3
- ElCadr: 1.2 => 1.4
- ElViewGraph: 1.3 => 1.4
- ResultGraphEl: 1.1 => 1.2
- anShow: 1.2 => 1.3
- anShow1: 1.3 => 1.4
- TextLab: 1.1 => 1.2
- ImgLab: 1.1 => 1.2
- LibsDB.vcaBase.mnEls
- El_Kran_Sh: 1.1 => 1.2
- Compressor: 1.1 => 1.2
- El_Kran_polozh: 1.0 => 1.1
- LibsDB.vcaBase.doc
- docAlarmsRep: 1.6 => 1.7
- docRepDay: 3.1 => 3.2
- docRepMonth: 3.1 => 3.2
- docRepYear: 1.2 => 1.3
- docUsersSet: 1.7 => 1.8
- docDin: 1.2 => 1.3
CONCEPTUAL > Productivity optimisation of the VCA interface
- FXI:UI.VCAEngine:
- Adapted to work in very big processing periods and disabling the periodic processing in whole:
- fixed in obtaining the period from the owner session widget;
- appended by setting the session side period with the User API function calcPer() of the session side widget, expanded by specifying the special period values: PerVal_Sess(0), PerVal_Parent(-1), PerVal_UserMin(PerVal_Dis(-2)), PerVal_SessDef(-3);
- "Period of the calculation" renamed to the "Periodic processing" and the renamed field is specified as a generic parameter, that moved to the main configuration tab and appended by the page widgets of the project and child widget of the library widget;
- the session object appended by the User API function period(), what returns the session processing period;
- the processing period was clarified in the session widget status.
- Change of the attribute "alarmSt" appended by accompaniation the new event "ws_alarmChange".
- Adapted to work in very big processing periods and disabling the periodic processing in whole:
- UI.Vision: Adapted for renaming "Period of the calculation" to the "Periodic processing" and for moving to the main configuration tab. The previous field in the "Processing" tab is set to be hidden at that missing in the VCA model.
- LibsDB.vcaBase,ModelsDB.{AGLKS.vca,Boiler.St}: The VCA projects set to the calculation period 250 ms. Calculation of the control group of the VCA projects set to 1000 ms.
- LibsDB.vcaBase:
- wlb_Main.RootPgSo: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- appended by continuing the immediately cycles before the container page opening at the start and after navigation, using the new event "usr_calc";
- appended by switching to the fast cycle at alarm blink, using the new function calcPer();
- switched to the processing period 1000 ms.
- wlb_Main.ElCadr: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- appended by continuing the immediately cycles using the new event "usr_calc";
- appended by switching to the fast cycle at alarm blink, using the new function calcPer();
- switched to the processing period -1 (parent).
- wlb_Main.{grpGraph,grpGraph10}: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- appended by continuing the immediately cycles using the new event "usr_calc";
- switched to the processing period -1 (parent);
- tracing period of the Diagram primitive linked also to the Widget period.
- wlb_Main.ElViewCadr: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- appended by switching to the fast cycle at cursor blink, using the new function calcPer();
- switched to the processing period -1 (parent);
- tracing period of the Diagram primitive linked also to the Widget period.
- wlb_Main.storeHouse: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- switched to the processing period -2 (disabled);
- appended by continuing the immediately cycles using the new event "usr_calc".
- wlb_Main.ElViewGraph: Adapted to work in very big processing periods:
- appended by continuing the immediately cycles in waiting the values appear, using the new event "usr_calc";
- appended by switching to the fast cycle at cursor blink, using the new function calcPer();
- the calculation set in 2000 ms due to need of that updating at the trend cursor changing.
- wlb_Main.grph_panel: Appended by storing the tracing period of the linked Diagram primitive. Switched to the processing period -1 (parent).
- wlb_Main.{grpCadr,ResultGraphEl}: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- switched to the processing period -1 (parent);
- tracing period of the Diagram primitive linked also to the Widget period.
- wlb_Main.{TextLab,ImgLab},wlb_mnEls.{El_Kran_polozh,El_Kran_Sh,Compressor}: Adapted to work in very big processing periods and disabling the periodic processing in whole:
- appended by switching to the fast cycle at cursor blink, using the new function calcPer();
- switched to the processing period -1 (parent).
- wlb_Main.{anShow,anShow1}: switched to the processing period -1 (parent) and appended by switching to the fast cycle (500 ms) at focus and alarm blink.
- wlb_doc.{docRepDay,docRepMonth}, wlb_Main.{graphSelPrm,doc_panel,accept,treeSelect,cntrPaspExt}, wlb_Main.{ViewCadr,ResultGraph}: Switched to the processing period -1 (parent).
- wlb_doc.{docDin,docAlarmsRep}: Switched to the processing period -2 (disabled).
- wlb_doc.docRepMonth: Excluded from execution at stopping.
- wlb_doc.docRepYear: Appended by one immediately cycle after f_start, using the new event "usr_calc". Disabled for the periodic processing.
- wlb_Main.userManager: Disabled in the periodic processing.
- wlb_Main.RootPgSo: Adapted to work in very big processing periods and disabling the periodic processing in whole:
CONCEPTUAL > Unification the associated output transports to the input one AND the generic output transport connection
- FIX: Unification the associated output transports processing of the input Sockets transport for:
- Transport:
- the function TTransportIn::assTrO() renamed to TTransportIn::associateTrO() and expanded by creation new transports at the first and next removing for stopped ones, and the just created transports appended by reading the initial connection ID with it registering in the connection parameter "initConID";
- the new function TTransportIn::associateTr() and its UserAPI variant SYS.Transport["Modul"]["in_Transp"].associateTr() of obtaining the output transport object at its Connection ID;
- the associated output transports from an input one appended by removing at the inactivity at the TTransportIn::keepAliveTm();
- the new UserAPI function SYS.Transport["Modul"]["in_Transp"].associateTrsList() as a correct naming variant to assTrsList();
- the output transport object appended by the UserAPI functions conPrm() and setConPrm() of accessing the connection parameters;
- changing the name template in "inA_ID_N" of the associated output transports to the input one;
- FIX:Sockets: the input transports prevented at spare socket closing in the initiative mode; the new initiative connection limit checking moved to the main limits checking part.
- LibsDB.OscadaLibs: tmplib_base.initConsAssignTrs: Renamed to initConAssociateTrs and adapted to use the function conPrm("initConID") and associateTrsList().
- Transport:
- The generic output transport connection:
- Transports:
- the new function TTransportS::outAt() and its UserAPI variant SYS.Transport.outAt() of the output transport generic obtaining from the unified address;
- TTransportS::extHost() moved to use TTransportS::outAt().
- Transport,UI.{QTCfg,WebCfgD}: The field "Transport" of the external hosts table expanded for specifying the transport address in the unified-common form and expanded by the selection specifying per item with support such behaviour in the common configurators.
- DAQ.ModBus: The first one what moved to use the unified connection to the output transport.
- LibsDB.OscadaLibs: tmplib_DevLib.mbBase: Switched to use TTransportS::outAt().
- Transports:
CONCEPTUAL > Messages Translation (fixes of the conceptual changes of the previous update)
- FIX:SYS:
- FIX: Prevented from propagating the base language column of the translations table "Tr" in the SINGLE translation mode and the base language.
- FIX: The string EVal value "<EVAL>" appended as not translated one to prevent that translation in VCAEngine for NULL DB values.
- FIX: The static messages translation function improved in omitting empty messages for the binary strings with only zero symbols.
- TFunction::operator=() finished in adaption to the IO name translation.
- Writing to the configuration in XML prevented in doubling the translated field for the configuration contexts.
- FIX:DB:
- FIX: The translation prevented from propagating the base language column in the SINGLE translation mode for already translated DBs, by appending for different detection the translated DBs in whole and the translated column presence.
- FIX: Fixed for the DB syntax error at cleaning the translation fields equal to the base.
- FIX: Fixed in writing untranslated strings, by clearing all translation and writing to base.
- FIX: Prevented in the DBs service termination, as the transactions closing, at some wrong DB presence.
- FIX: The translation setting prevented in setting double messages to the base messages; what completing not translation "<EVAL>".
- FIX: Absence the flag TFld::TransltText means as the translation complete missing for that field.
- FIX: The Translation Manager:
- FIX: prevented in the marked base changing to a human readable form at all, since that used as a key;
- the notification about fixes was moved to pass them for the user through the expanded Control Interface warnings;
- the flag "chkAndFix" split to "chkAndFix" and "chkAndFixMB";
- the translation configuration fields TrPassN, TrChkAndFix, TrChkAndFixMB moved to the dynamic variables due to there is no need of their store;
- the translation mark "<<<Unmatched sources>>>" renamed to "<<<SEVERAL VARIANTS>>>".
- FIX:DAQ::ParamTmpl:
- FIX: Fixed for the IO name edition in the non basic mode of the dynamic translation.
- FIX: Fixed in the flag IO::TransltText processing for strings.
- FIX: The service request "list:/DAQ/{MOD}/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2fattr" fixed in the attribute name translation.
- FIX:Transports,UI.{QTCfg,Vision,WebCfgD}: The function TTransportS::extHostList() appended by an argument "lang" to receive translated names of remote hosts.
- FIX:Protocol.ModBus: Fixed-adapted in the IO name dynamic translation.
- FIX:UI:
- FIX:VCAEngine: The dynamic translation of tr() fixed in the translation loss after the translation cache cleaning and placing the spare messages to the project's table "Trs".
- FIX:WebUser: Fixed-adapted for the dynamic translation of the IO names.
OpenSCADA libraries and projects
- FIX:LibsDB.OscadaLibs:
- The library tmplib_LowDevLib appended by the template "BT: RDTech UM24C, UM25C and UM34C (RDTech)".
- The library tmplib_DevLib appended by the template "Slot LTD devices (SLOT)".
- FIX:LibsDB.vcaBase:
- wlb_Main.storeHouse: Significantly expanded by: implementation the procedures support for the logical columns; implementation the report of all visible table and a selected record.
- wlb_Main.RootPgSo: The "Notification: type 2 (TextSpeech) (notify2)" method expanded by the RHVoice support and appended by the builtin syntax highlight for BASH. The "Notification: type 1 (Buzzer) (notify1)" method rewrote for the long samples playback in the background, that is with control the sample playing stop and restarting only in the case. Appended also by the syntax highlight.
- FIX:wlb_doc.docRepDay: Some improved and appended by: the columns grouping in the header, string values direct reading, colors disable in the table at EVAL scale.
- wlb_doc.docUsersSet: Added by the "Message category (messCat)" configuration.
API
!!!!:Changes:
- SYS,UI.{QTCfg,WebCfgD}: The Control Requests code TError::Core_CntrWarning expanded for the warning messages pass in the attribute "mtxt" with the main data storing.
- SYS:
- The functions TSYS::id(), TSYS::name() and TSYS::user() were set as constant.
- The definitions SEC_XT, SEC_WR, SEC_RD moved from the file tsecurity.h to tcntrnode.h and used there also.
- ctrChkNode() cleaned for the argument "warn" due to the response attribute "force" is deprecated.
- The Control Interface request "chlds:/{nPath}/%2fobj" appended by not creating the empty icon tags "ico".
- NSTR_BUF_LEN(50) split to CFG_A_LEN (100) for using in the maximum attribute size of the configuration cell in XML.
- The argument "init" removed from setIcoDir(), setDocDir(), setLang() during moving under the generic clearing mechanism.
- Appending the enumeration MdfSYSFlds by the fields: MDF_Name, MDF_MESS, MDF_TR, MDF_DBG, MDF_RD.
- The TSYS::ShieldSimb encoding of the function TSYS::strEncode() renamed to TSYS::ShieldSymb, moved to the function TSYS::strDecode() and in TSYS::strEncode() appended by the common one. And the UserAPI function SYS.strDecode() appended by the decoding method "ShieldSymb".
- DB: The Control Interface request "call:/BD/{MOD}/{DB}/%2fserv%2fSQL" appended by processing the "intoTrans" attribute as EVAL at missing and clearing the request text in the response.
- DAQ::Value: The service request "get:/serv/attr" of the Control Interface prevented from clearing the "el" subtags at missing the representing attribute, them value is set to EVAL for true mark that as processed in DAQ.DAQGate and don't continue them request in each cycle.
- Archives-History: The value archive link type "Passive param. attribute (TVArchive::PassiveAttr)" renamed to "DAQ attribute (TVArchive::DAQAttr)". The value archive link type "Active param. attribute" renamed to "Active DAQ attribute" with that mark as DEPRECATED.
- Transports: The function TTransportIn::assTrO() renamed to TTransportIn::associateTrO(). The TTransportOut::isNetwork() virtual function sign moved to the TTypeTransport object with linking the old one to new one, for marking all module as the network one.
- UI.VCAEngine: The Control Interface request "get:/UI/VCAEngine/%2fserv%2fwlbBr" appended by not creating the empty icon tags "ico". The request "connect:/serv/sess" appended by the attribute "onlyMy" for connection only to own sessions, and the request "get:/ses/ses" appended by the same attribute for listing only own ones.
Appends:
- SYS:
- The new function TSYS::ico() of the icon obtaining.
- Names of the security standard permissions appended by _W_W_W(0222).
- TError: expanded by new constructors with the "const string &" type arguments for no limiting strings and the convenience.
- TRegExp:
- Appended by a new option 'U' (ungreedy) of the greedy mode toggle, together the User API method "ungreedy".
- Appended by the function mode(), the argument "mode" in setPattern() and the enumeration "Mode" with the items: MD_8, MD_16, MD_32, MD_WCHAR, MD_SAVE.
- The search() function of the object appended by an argument "length" of the measured block size return.
- XMLNode: The loading flags appended by the no flag item LD_NO.
- TMess: Appended by the common label labStdOutTrs() for address format of the unified output transport function.
- DAQ:
- The DAQ item linking functions expanded by the base node specifying in the attribute "ndBase", for: ctrListPrmAttr(), daqAt(), prmAt(), attrAt().
- The object TPrmTempl::Impl appended by the new function archAttrs() of updating-archiving attributes of the LogicalLevel.
- Archives-History: The value archive object TVArchive appended by declaration the enumeration ServReqDtMode for the Control Interface request "get:/Archive/va_{ARCH}/%2fserv%2fval".
- Transports:
- The new function TTransportIn::associateTr() and its UserAPI variant SYS.Transport["Modul"]["in_Transp"].associateTr().
- The new function TTransportS::outAt() and its UserAPI variant SYS.Transport.outAt().
- The new UserAPI function SYS.Transport["Modul"]["in_Transp"].associateTrsList() as a correct naming variant to assTrsList().
- The output transport object appended by the UserAPI functions conPrm() and setConPrm() of accessing the connection parameters.
- The function TTransportS::extHostList() appended by an argument "lang" to receive translated names of remote hosts.
- The "in_" and "out_" prefix moved to the definitions STR_IN_PREF and STR_OUT_PREF respectively.
- The TTransportS object appended by the enumeration LogType with the items: LTP_BinaryText, LTP_Binary, LTP_Text.
- UI.VCAEngine:
- Appended by setting the session side period with the User API function calcPer() of the session side widget, expanded by specifying the special values: PerVal_Sess(0), PerVal_Parent(-1), PerVal_UserMin(PerVal_Dis(-2)), PerVal_SessDef(-3).
- The session object appended by the User API function period(), returning the session periodic processing.
- The attribute "alarmSt" change appended by accompaniation by the new event "ws_alarmChange".
SYS
- FIX:Building:
- FIX:configure.ac: Core library version risen to 3:13:0 and the program version risen to 0.9.6. The module version of the subsystem "Transport" risen to 19.
- FIX:Debian: Improving and fixing the DEB-packages signing for all repositories.
- *: Most close(), iconv_close(), dlclose(), pclose() functions appended by checking the result and warning at problems.
- *: All system (SYS) configuration parameters adapted for true handling the default value.
- .,DAQ.JavaLikeCalc: Getting help from the second line for the Control Interface appended in: description of the element fields (TFld) with DAQ-values; name of function IOs (TFunction) with links and attributes builder of the DAQ Logical Level.
- FIX: Rewrote the function TCntrNode::nodeAt() to prevent of call the virtual chldAt() under the lock mChM, so preventing some dead locks in the virtual definitions of chldAt().
- Revised for all templates in the folders =Tmpl=.
- FIX: The tab "Station" of the main page of the OpenSCADA Control Interface appended by the system time information and commonly restructured.
- FIX:data/openscada-proj.in:
- Expanded by the new environment variable OSCD_TAR_Args of defining extra tar arguments like to --exclude and it was set to the default value "--exclude=lock --exclude=ARCHIVES".
- FIX: Fixed in description and using the environment variables OSCD_TAR_ComprPrg and OSCD_BackLim.
- During unification the common project icon obtaining through using the project name and ID there performed:
- the Base Language Name used also for obtaining the icon, so now checked: The Translated Name, the Base Language Name, ID;
- the icon obtaining mechanism moved in a new separated function TSYS::ico().
- TRegExp: Appended by the 16 and 32 modes support by the pcre16 and pcre32 libraries respectively and only for the search() function currently.
DB
- FIX:.,PostgreSQL: Processing the table emptiness some softened during problems in DB.PostgreSQL about that, that is no exception generated now.
- FIX:PostgreSQL: Switched to the standard way of detection the missing Tables with them creation at "toCreate" and the exceptions generating else, so preventing the message "Table is empty.".
DAQ
- The Logical Level linking appended by a form of the address representing as the prefixed path "prm:/node/node", so with support of the relative addressing at "." and "..":
- the DAQ item linking functions expanded by the base node specifying in the attribute "ndBase", for: ctrListPrmAttr(), daqAt(), prmAt(), attrAt();
- the implementation object TPrmTempl::Impl of the Logical Level of the DAQ-template expanded for the new linking support.
- FIX: Setting the LogicalLevel links prevented from cleaning all the string after the space at the link constants "val:".
- ModBus: Appended by the option "e" for the register endian switch to LE for generic and BE for strings. The string extension of the registers appended by the input charset conversion. Appended by the parameter "Omit cycles for read back of written" for control such feature apart from the asynchronous writing.
- FIX:DAQGate:
- FIX: The message categories in catsPat() of obtaining the data source messages of the Controller Object switched to generate own detailed rules of the regular expression from the specified remote controllers — to prevent very redundant messages obtaining.
- FIX: Improved-fixed in the Controller Alarm status formation for multiple stations, when ALARM it is at missing connection of all stations.
- The sync() function of the controller object rewrote completely in the "Removing remotely missed parameters" section for:
- processing the parameter's representing stations: removing completely for missing stations and parameters with no station;
- removing disabled parameters and the logical containers at the flag "Allow the automatic removal of parameters and attributes".
- The function TMdContr::messSet() of the DAQ related messages setting adapted to support attributes in the parameter address for significant attributes of the generic-container parameters, that is needed for the messages transmission from the up stations to the down ones.
- JavaLikeCalc: Expansion-finishing the object's cycle implementation "for({var} in {obj}) {body of the loop}" by the possibility of pointing as the Object <obj> of the included ones through the properties or from the results. The constant values appended by "null" as a synonym to EVAL (EVAL_REAL).
- OPC_UA: Finished in the writing support through custom flags of the Standard mode and the type obtaining from IO for the Logical mode.
Archives-History
- .,DAQ.{LogicLev,ModBus,OPC_UA}: Finished the unification of archiving at the Logical Level sources when used only the direct-passive archiving:
- the object TPrmTempl::Impl appended by the new function archAttrs() of updating-archiving attributes of the LogicalLevel;
- the value archive link type "Passive param. attribute (TVArchive::PassiveAttr)" renamed to "DAQ attribute (TVArchive::DAQAttr)";
- the value archive link type "Active param. attribute" renamed to "Active DAQ attribute" with that mark as DEPRECATED.
- The "Messages" tab appended by a function of automatic clearing old Alarms from the Active Alarms Table at the specified days depth.
- FIX:FSArch:
- FIX: Prevented for access to files[iA] in ModVArchEl::setValsProc() outside the lock using the read-lock switching.
- FIX: Prevented for access to "files" in ModMArch::checkArchivator() outside the lock.
- FIX: Files accessing locks completely revised for including the packing/unpacking, new files creation, removing old ones under the WR lock space including also the conditions checking. Also removed for the relocks in cycles and at indexes.
Transports
- FIX: The output transports appended by the force stopping at the object system disable-disconnection, not in destructors what is late then there can be lost the socket handlers.
- The IO log of the transports appended by the data modes "Binary & Text", "Binary", "Text", and by it writing to a file for very big ones at pointing the log size -1.
- FIX:Sockets: Fixed in processing the not complete writing for the Input part, when the message cuts on the TCP transmitter buffer size. The input buffer size of the Input part bound to the hardware receiver buffer size control and the internal one just frozen to the standard string buffer length since that is not critical and need no control.
Transport Protocols
- FIX:SelfSystem: Significantly reviewed and fixed in the external-output connections implementation, appended by checking limit the header size.
- ModBus: Appended by the option "e" for the register endian switch to LE for generic and BE for strings.
- HTTP: Appended by the HTTP Attributes of disabling the WEBBrowser Cache in whole: "Cache-Control: no-cache, no-store, must-revalidate", "Pragma: no-cache", "Expires: 0".
- UserProtocol: The input part expanded by a possibility of schedule the user procedures call in the service cycle, for the background processing of some data; the Object's attribute "This (this)" was appended here also.
User Interface
- QTStarter,QTCfg,Vision: The common Syntax Highlighter in SnthHgl::rule() switched to the main work using PCRE in TRegExp, since that is 5 TIMES FASTER and very richer comparing to QRegExp; and QRegExp left to be automatically enabled at missing the PCRE 32/16 libraries. The Qt-generic library (lib_qtgen) appended by the static-external functions getFont() and getColor() from UI.Vision and by the object SnthHgl from UI.Vision and UI.QTCfg.
- QTCfg,WebCfgD: Unified in notification the errors of the Control Interface during improvement the code TError::Core_CntrWarning and QMessageBox appended of the detailed text at the message longer for 255.
- QTStarter: Appended by the display sessions control, that is the sessions restore.
- QTCfg: Appended by the Favorite pages implementation. The image element appended by a function of clearing the image completely.
- FIX:Vision:
- FIX: All control requests "<info>" appended by checking the child nodes presence to prevent crashes in some cases.
- Appended by the possibility of call remote station interfaces by selecting the remote station in a dialog, for what the user selection dialog was expanded.
- The text areas with the syntax highlighting appended by the builtin variant.
- The image elements (icons) of the item dialogs appended by a button menu with the functions: Save, Load, Clear.
- The Widget Attributes edition table appended by the multiline edition for the "Name" column and the context help loading for that.
- The popup menu of the project, the project pages, the widget libraries and the library widgets in appending widgets from the libraries removed for limit of the libraries here in 20 items by moving all them to a new separated menu item "... from the Library".
- FIX:VCAEngine:
- Icons of the projects and the widget libraries switched to download the common project icon at missing local.
- The widget libraries adapted to interhost copying.
- FIX: The Document primitive generation appended by limiting the repeating blocks size in limUserFile_SZ (10MB).
- FIX: Fixed in the correct treating of the project pages and the library widgets with initially wrong parent addresses, for don't remove child widgets and change them parent at pointing the correct parent address.
- FIX:WebVision:
- Appended by the export implementation for the "Document - HTML,CSV" and "Table CSV".
- Appended by the printing implementation for the "Document" and "Main Page".
- The type Table of the primitive FormEl added by tearing off the table header at big tables scrolling down.
- FIX: The type Table of the primitive FormEl improved and fixed for:
- setting the CSS property "white-space" to "pre-wrap";
- setting the color changes under the selected cells;
- preventing the focus loss just after entry to the cell editing;
- fixing the boolean value setting at entry to the cell editing;
- the table refitting at growing the column string length.
- The included pages closing set after several (4) row appears — to prevent of closing all pages at fast navigation;
- Improved in processing the connections of the ordinal users to own VCA-sessions.
- WebUser: Expanded by a possibility of schedule the user procedures call in the service cycle, for the background processing of some data.