Modified TSENTRY installer to save flags for real-time installation and copying HMI files so subsequent installations default to the same values
Made various changes to the tpriProc class:
Moved initialization of crash handler from PrIni(..) to Create() in order to support processes not listed in sysProcs.ini file
Modified Create() function to disable popup message boxes for ASSERTs
Changed destructor so that process state is left as tpriProcStopping rather than resetting to tpriProcStopped (NtRtMgr/tpriProcMgr will reset the value when process exits)
Made various changes to the tpriProcMgr class:
Modified function that checks if processes are still alive to withhold log message indicating that process is no longer alive if process state is tpriProcStopping (due to above change to tpriProc destructor)
Modified function to adjust the internal clock drift rates to disable RTX clock tracking if RTX is not installed on the system (prevents error message on non-RTX systems)
Fixed AddXTimer(..) function prototypes in tpriTimer.h
Changed LogMsg(..) so that displayed process name is taken from sysProcs.ini file or executable file name rather than first passed function name
Fixed logging of memory buffer rollovers in TrendMgr to log correct memory buffer size
Changed calling parameters to tpriGsmDDCom::varDef::fmtXXX(..) functions to include size of destination buffer
Removed try/catch from tpriGsmDDCom::varDef::fmtXXX(..) in tpriNtRt.RTSS.lib library
Removed tpriLogMsg::fileLogMsgs(..) function from tpriNtRt.RTSS.lib library
Fixed tpriGetClockTime(..) function to correctly use RTX timer for Win32 processes on an RTX system so that absolute timer values are consistent between Win32 and RTSS processes
Fixed non-RTX version of tpriCreateSharedMemory(..) to properly set the last error code before function returns
Increased size of error message buffer in tpriSvrSock constructor to prevent buffer overruns
Made various changes to the GsmPifBld process:
Reorganized code in main(..) function of NtRtSvc to clean up sequencing
Fixed Tsecurity installer to include Interop.ADSecurity.dll in \bin\ folder
Fixed TPRI.Tsecurity.Client class so that internal .NET remoting channel is properly disposed
Made various changes to the TPRI.Tsecurity.LoginSession class:
Added Copy(..), CopyTo(..), CreateCopy(), and UpdateExpiration(..) methods
Added Expired, Timed, ExpireTime, and AllowedAcces properties
Removed UsingDefaultSAK property
Changed name of ResetLogin() function to Logout()
Changed name of SessionTimeout property to Timeout
Changed default property values in TPRI.Tsecurity.TsecuritySettings class from shared properties to simple public constants
Modified TPRI.Tsecurity.Host class so that user information will not be removed from the cache if authentication fails because the network is unreachable
Fixed HMI security functions in SecurityDef module to properly treat SAK as a 64-bit integer
Changed securityLevel parameter on all SecurityScreen(..) functions to a 64-bit integer
Upgraded Glacial Components to GlacialListview v2.0.3.2204 and GlacialTreeList v2.3.2.21597
Fixed TPRI.DataDictionary.TreeDataDict class to properly create, track, and destroy references to the tpriGsmDDCom classes
Made various changes to the TPRI.HMI.Application.AppConfig class:
Changed initial value of TsecurityHost property from MachineName to an empty string
Changed initial value of TsecurityPort property from hardcoded 8080 to TsecuritySettings.DefaultPortNumber
Fixed parsing of TsecurityPort from config file to force default value if exception occurs
Fixed TPRI.HMI.Application.ScreenConfig class to properly load ClassName from XML file
Made various changes to the TPRI.HMI.Application.ScreenConfigCollection class:
Added BarGraph, ComboBox, ComboBoxCollection, CoverageBar, and LogMsg classes to TPRI.HMI.Controls namespace
Made various changes to the TPRI.HMI.Controls.DDVarSelect class:
Modified DataDictNames property set method to automatically choose first data dictionary name as current data dictionary if none has already been chosen
Added InitialDataDictDisplay property
Added ShowDataDict() method
Added check to TPRI.HMI.Controls.OpcMgr to verify valid internal references before processing data updates to eliminate potential null reference exception
Added Remove(..) method to TPRI.HMI.Controls.TextBoxCollection class (shadowed Remove(..) base class function) to unhook event handlers when removing items from collection
Completely reworked all trend-related classes in TPRI.HMI.Controls namespace to use GlacialControls lists and trees rather than TelePro-developed objects
Removed TrendVarListBase, TrendingVarListBase, TrendingVarDateTimeList, ListViewEditor, and OwnerDrawnListView from TPRI.HMI.Controls namespace
Fixed TPRI.HMI.Controls.TriggerStatusList.ColumnWidths property set method to validate inputs
Made various changes to the TPRI.HMI.Forms.DataDictForm class:
Changed name of TPRI.HMI.Forms.QueryContinueForm.Continue property to Result in order to avoid conflict with known keyword ‘Continue’
Implemented ISerializable interface and added constructor for serialization to TPRI.Languages.LanguageTable class
Made various changes to the TPRI.Languages.LanguageTable class:
Renamed the TPRI.NtRtInfo.INtRtInfo.GetAppConfig(..) function to GetHmiConfig(..) and added additional security-related parameters
Made various changes to the TPRI.NtRtInfo.Host class:
Added DefaultPort constant field
Changed GetAppConfig function to GetHmiConfig to conform to updated INtRtInfo interface
Fixed GetSharedFilePath(..) function to catch illegal attempts to access parent directories of shared folders
Changed ServiceName of NtRtInfo service from Service1 to NtRtInfo
Fixed TPRI.Probe.ProbeSet class to properly read/write Format string from/to ProbeSet files
Added Tag property to TPRI.Trending.TrendSet class and completely reworked helper classes
Changed name of TPRI.Trending.TriggerDef.Operator property to Comparator in order to avoid conflict with known keyword ‘Operator’
Made various changes to TPRI.HMI.Screens.ProbeX class
Changed text in popup menu items to read ‘Variable’ rather than ‘Probe’
Added ‘Edit Variable’ popup menu item
Fixed display position of popup menu to correspond with mouse position
Added automatic retrieval of variable description in far-right column of display
Added protected properties VariableName(..) and RequestedVariableName(..)
Changed scope of InsertVariable(..), RemoveVariable(..), and RefreshArray(..) methods from public to private
Changed scope of StartVariable(..) from public to protected
Changed edit activation of variable name from single-click to double
Added Escape key processing in variable value text box in order to reset modified state and restore live value updates
Added check to prevent selection of rows in tree display that are not root variables
Added code to automatically display data dictionary when editing a new variable name
Added code to automatically stop editing the variable name when a variable is selected from the data dictionary form
Added code to automatically stop editing the variable format when a new selection is made in the dropdown box
Added support for displaying integers as unsigned values
Changed scope of PopulateHostTriggers() and PopulateLocalTriggers() methods in TPRI.HMI.Screens.TriggerFileMgr class from public to private
Moved TPRI.OpcCom class into the TPRI.Probe.OPC namespace
Added TPRI.Tscreen.ActivateInfo class
Made various changes to the TPRI.Tscreen.ITscreen interface:
Moved ActivateScreen(..), GoBack(..), and GoForward(..) events into new TPRI.Tscreen.INavigator interface
Changed OnScreenActivated parameter from a TscreenInfo object to an ActivateInfo object
Added TPRI.Tscreen.FindTscreen public function
Modified TPRI.Tscreen.ScreenChangingEventArgs and TPRI.Tscreen.ScreenChangedEventArgs classes to use ActivateInfo rather than TscreenInfo as primary data class
Made various changes to the TPRI.Tscreen.TscreenHistory class:
Added BackToMenu(), FindStepsToAlternateScren(..), RemoveScreen(..), and Clear() methods
Added Item(..), CurrentItem, CurrentIndex, and Count properties
Modified various existing functions to use ActiveInfo class rather than TscreenInfo
Added TPRI.Tscreen.TscreenResizeStyle enumerated type
Added new TPRI.Tscreen.TscreenInitInfo class
Made various changes to the TPRI.Tscreen.TscreenInfo class:
Modified class definition to inherit from TPRI.Tscreen.TscreenInitInfo class and removed local MaxBackgroundTime property (now inherited from TscreenInitInfo)
Added Navigator, InMemory, Active, and IsDisposingScreen properties
Changed Steps property from ReadOnly to Read/Write
Enhanced error trapping and reporting during creation of actual screen object
Added code to record initial size of screen to internal data
Fixed DestroyScreen() function to prevent function from indirectly calling itself and to clean up destruction sequencing
Fixed detection of form closure to update internal class data
Added RemoveByID(..), RemoveByClass(..), and RemoveAt(..) methods to the TPRI.Tscreen.TscreenInfoCollection class
Made various changes to the TPRI.Tscreen.TscreenMgr class:
Added ActivateInfo, AllowAutoRegister, ScreenInitInfo, CanGoBack, CanGoForward, and ScreenTrackingEnabled class properties
Added UnregisterAllScreens(), HideAllScreens(), ShowCurrentScreen(), and GoBackToMenu(..) methods
Replaced ScreenChanged(..) event with separate BeforeScreenChanged(..) and AfterScreenChanged(..) events
Replaced ScreenDisposed(..) event with separate BeforeScreenDisposed(..) and AfterScreenDisposed(..) events
Added overloaded RegisterScreen(..) method to accept a TscreenInitInfo object
Added support for automatically registering screens based on screen ID and namespace of current screen
Added overloaded ActivateScreen(..) method and support for screen activation arguments
Changed sequencing in internal ActivateScreen(..) to always force screen activation even if the TscreenMgr believes the requested screen is already active
Added support for automatically disposing screens when they have been idle longer than the time specified by the MaxBackgroundTime property
Changed OnScreenChanged(..) method from public to private
Added various options for sizing screens when container form is resized
Made various changes to the TPRI.Tscreen.ActivateScreenEventArgs class:
Added Argument property
Added new constructor to support navigating with arguments
Changed Steps property from ReadOnly to Read/Write
Changed ScreenID property from ReadOnly to Read/Write
Made various code-level changes to improve compatibility with Visual Studio 2005, including:
Initialized local function variables to eliminate warnings
Removed unused variables
Verify all function code paths return a valid value
Fixed incorrect types specified in various native Win32 function calls