Version 2.2.0

Build: 2.2.0-344

Release date: 13.12.2005

This version of Sentrol concentrates on improvements to Storage and usability of the UI Controls.

Sentrol now supports ADO, IB Express and Zeos, in addition to BDE and dbExpress.

There is also preliminary work that targets to a more powerful Storage usage, including management of variables and modules. This work is still underway, but should not be visible to you, if you use it as previously. You may see some new classes, properties and methods in PsStorage.pas, but these may still change a little bit, so you should consider them as beta features.

There is also now basic support for DateTime data.


  • TPsVar.SetPropValueAt to set Quality correctly bad, if given invalid Value

  • TPsState.AlarmState, States, Next & Prev

  • TPsOPCServerList.AddServer seemed to have a potential bug enabling duplicate entries - and on the other hand missing some entries.

  • TPsOPCServer.ReadItemValue & ReadItemValues

  • TPsOPCGroup.Disconnect calls OnDisconnect before removing the group

  • TPsOPCConnector.VarChangeRequest to use (New) TPsOPCConnector.WriteItem, which DoCopyToExternal is now also using

  • TPsOPCWriteTransaction:s were not used properly

  • TPsOPCTransaction.Commit

  • TPsCheckbox could end up to EStackOverflow

  • TPsCustomComboBox.Focused fixes Borland QC issue #19770 in TCustomCombo.Focused

  • AV at TPsCustomStorage, if OwnsStmts was True.

  • TPsHistorian.SetLoadHistoryParams, TPsHistorian.SetGetValueAtStmtParams

  • Several changes & fixes to TPsEventView & TPsEventList, especially the preformance of TPsEventView is now adequate independent of the event log size

  • Uninstall has had several issues preventing it from running correctly. We wish (!) they are now over…​

New Forms

  • TPsVarForm

New Components

  • TPsDateTime

  • TPsDateTimePicker

  • TPsMultiEditPanel (beta)

  • ADO Storage: TPsADOStorage (uses TADOConnection) included in SentrolStdADOXX.bpl

  • Interbase Express Storage: TPsIBStorage (uses TIBConnection) and TPsIBManager (for backup, restore, etc. using IB Admin components) included in SentrolStdIBXX.bpl (requires ibxpress)

  • Zeos Storage: TPsZStorage (uses TZConnection v.6.5, see ) included in SentrolStdZeosXX.bpl

Note: The installer will also install the Zeos package into Sentrol/bin-directory, but it is not enabled in the component palette. You must manually enable it from Delphi/C++Builder Components-menu (Add Packages). You must have ZComponent also installed at that time.

Note: PsADOStorage and PsZStorage are not included in Delphi/C++Builder version 5, simply because ADO or Zeos are not currently available for them (actually, Zeos DBO includes source for Delphi/C++Builder 5, but it does not compile! See the report )

New Members

  • Properties: TPsStringTree.OnChange & OnChanging

  • Behaviour: TPsStringTree.PathToSequence ignores separators at string ends and optionally escapes them in the middle, when doubled

  • Enum value: TPsAlarmState.asUnknown

  • Properties: TPsVar.Description, AlarmText, AlarmHelp, available also via PropValues (vpDescription, vpAlarmText, vpAlarmHelp)

  • Property: TPsVar.PropReadOnly

  • Methods: TPsCustomState.GetBitmap & TPsCustomState.GetBitmapForValue

  • Behaviour: TPsVar.DoChanging catches exceptions and reports the associated information with the EPsVarChangeReject exception

  • Property: TPsBitset.BitItems (replaces States in Bitsets)

  • Properties: TPsSpeedButton.VarImage & TPsBitBtn.VarImage

  • Property: TPsControlVarLink.AutoEnable, used in all controls to automatically enable/disable the control according to read/write access to the connected variable property

  • Properties: TPsCustomCompPanel.CaptionAutoSize & TPsCustomCompPanel.EngUnitAutoSize

  • Enum value: TPsHintValue.hmClickValue

  • Behaviour: TPsBitsetView uses StateImages for "On" bits only, unless you provide addtional images

  • Properties: TPsCustomConnector.ShowErrors, TPsCustomConnector.DeactivateOnError, TPsCustomConnector.DeactivateLinkOnError

  • Changed: TPsOPCGroup.WriteItem will convert the value to write to the Item’s DataType

  • Methods: TPsOPCServer.WriteItemValue & WriteItemValues

  • Properties: TPsOPCItem.Value, Quality & Timestamp (cached last values)

  • Method: TPsOPCConnector.WriteItem

  • Changed: TPsOPCGroup.Connect raises exceptions if it fails, instead of returning a boolean value. It also connects the server, if it already wasn’t.

  • Changed: TPsOPCServer.MakeUniqueGroupName does not modify an empty string - to support connectors without names

  • Property: TPsOPCProvider.LocalTimeBias

  • Property & Methods: TPsCustomStorage.Connected, Open & Close

  • Methods: TPsCustomStorage.StartTransaction, Commit, Rollback & InTransaction

  • Methods: TPsCustomStorage.Lock & UnLock (thread-safety)

  • Methods: TPsCustomStorage.GetTableNames & GetFieldNames

  • Methods: TPsCustomStorage.ExecSQL, Select, SelectValue, SelectMax, CreateTable

  • Feature: TPsHistorian.Snapshot, SnapshotSchedule, SnapshotTable, OnSnapshot, etc.

  • Method: TPsCustomHistorian.ClearHistory

  • Property: TPsEvent.Quality

  • Method: TPsEventLog.LoadEvents

  • Method: TPsEventList.IndexOfTimestamp

  • Properties: TPsEventView.Events, LocalTimeBias

  • Method: TPsEventView.IndexOfEvent

Beta Feature: Storage Table Management

The storage can now maintain meta information of data modules and variables in the DB. This feature is still under development, so regard it as beta, suspect to change in future releases. All properties are still available only at runtime.

  • Classes: TPsStorageTable, TPsStorageField, TPsObjectTable, TPsComponentTable, TPsPropValueTable, TPsHistoryTable, TPsSnapshotTable, TPsSnapshotValuesTable, TPsObjectIDMap & TPsProxyObject

  • Properties: TPsCustomStorage.ModulesTable, VariablesTable, VarPropsTable, TPsHistorian.SnapshotTable, TPsCustomHistorian.HistoryTable

Version 2.1.3

Build: 2.1.3-312

Release date: 14.06.2005

This version of Sentrol includes a COMPLIANT OPC SERVER implementation! See the product description at OPC_Foundation


  • Sample projects had no pas-files in the setup (or wrong ones)

  • AV at TPsHistorian/TPsEventLog when Storage destroyed

  • TPsState.AlarmState did not work

  • TPsOPCProviderGroup.Enabled is not changed at callback connection (required to pass the CTT v2.00.10.1130)

  • Delphi 2005 Help registration did not work properly (unless MS Help 2.0 SDK was installed)

  • Added VB script to open the Sentrol Help file in Delphi 2005

  • Documentation for Event components


  • Sample project: EventLog

Version 2.1.2

Build: 2.1.2-308

Release date: 03.06.2005


  • TPsOPCProviderGroup.AddItems threw an exception with some regional settings (e.g. English UK)

Version 2.1.1

Build: 2.1.1-306

Release date: 31.05.2005

This is an official minor update for Prosys Sentrol 2.1.


  • Package dependency problem causing SentrolStd package to not load on a second Delphi 2005 startup.

  • AV at Delphi/BCB shutdown, if project opened from Windows Explorer

  • TPsOPCGroup.WriteItem to always through an exception on failure (to be catched by TPsOPCConnector)

Version 2.1.0

Build: 2.1.0-300

Release date: 25.05.2005

This is an official update release for Prosys Sentrol 2. The major improvement is the implementation of OPC Data Access Server (TPsOPCProvider), which is available in Prosys Sentrol Std and Pro!

New compiler support (since Sentrol 2.0.0)

  • Support for Delphi 5

  • Support for Delphi 6

  • Support for C++Builder 5

  • Support for C++Builder 6

  • Support for Delphi 2005

New components and classes

  • TPsCheckBox

  • TPsRadioButton

  • TPsBitsetView

  • TPsEventLog

  • TPsEventView

  • TPsStringList

  • TPsStringTable

  • TPsOPCProvider (OPC Data Access Server implementation!)

    TPsOPCProvider is NOW included in the Std and Pro installation. It is also available for Evaluation.

Changed components

  • TPsState & TPsBitset

  • New property: States (collection), which replaces StringValues & AlarmStates

    StringValues will be removed from the properties at Sentrol 2.1. You must use this interim release to convert existing TPsState & TPsBitset components to the new version. Just open all forms and data modules that you have with this version and them in the new format. Check that all the defined states are copied from StringValues to States. StringValues property is accessible as read-only.
  • TPsOPCAddressSpace:

  • New events: OnAdding, OnAdd, OnBrowse

  • New defaults: QuoteChar = ', PathSeparator = /

    The new default settings make streamed (stored in files) address spaces incompatible with the new one, unless you change the properties back to old ones - QuoteChar=", PathSeparator=..
  • TPsStringTree:
    Improved performance

  • Connectors (e.g. TPsOPCConnector):
    Changed the footprint of Error events (OnCopyToVarError, OnCopyToExternalError) to include the Exception object.

Plus several minor fixes in several components

New Tutorials!

  • Byte Arrays

  • Functions

  • Animators

  • OPC Server