Instrumentation Components Release Notes Release: 5.0.2 - V5 SP1 Installer 86 Build: Release 12 Nov 2015 Date: This document is organized into the following sections... Revision History Installation OPC Technical Support Revision History ActiveX and VCL/CLX Version 5.0.2 Service Pack 1 Bug Fixes: 1. Fixed issues with Embarcadaro XE2 and above 64-Bit compilation and source path issues. New Features: 1. Added support for Embarcadero Rad Studio 10 Seattle (Delphi & C++ Builder). 2. Added new Win32 & Win64 Folders for VCL binary files. These new folders are sub-directories of the common source directory for the specific developemnt environment. ActiveX and VCL/CLX Version 5.0.0 Service Pack 0 Bug Fixes: 1. iThreadTimer ActiveX property editor crashing issue fixed. Would occur when setting any timer Enabled property to True and clicking the Ok or Apply button. New Features: 1. Added support for Embarcadero XE7 (Delphi & C++ Builder). 2. Added support for Embarcadero XE8 (Delphi & C++ Builder). 3. Added full support for 32-Bit and 64-Bit application development... o All Embarcadero Development Environments starting with XE2. o Includes 32-Bit and 64-Bit OCX Builds. o Includes 32-Bit and 64-Bit OPC Distribution Builds (iOPC5_32.dll & iOPC5_64.dll) o Supports 64-Bit Debugging on any Microsoft 64-Bit OS. 4. Upgraded iPlot control drawing routines for increased performance. ActiveX and VCL/CLX Version 4.1.0 Service Pack 5 Bug Fixes: 1. None. New Features: 1. Upgraded controls to support Embarcadero XE6 (Delphi + C++ Builder). ActiveX and VCL/CLX Version 4.0.8 Service Pack 4 Bug Fixes: 1. Fixed mouse increment/decrement issue on the iSwitchQuad control. You would not be able to change the ValueX or ValueY property value while the CTRL or SHIFT key was being held down. 2. Fixed plot channel YMean calculation bug. The GetYMean function would always return 0. 3. Fixed GetYInterpolated function return value issue. The return value is a boolean indicating if the returned value is valid or not. For interpolated values, the boolean return value was always correct. For the case where no interpolation was necessary because the target x-value match the x-value of an actual data-point and the data-point y-value was null, the returned value was incorrectly reported as valid. Because the plot control data-cursor utilizes the GetYInterpolated function, these fix also corrects the same issue with the data-cursor. New Features: 1. Upgraded controls to support Embarcadero XE2 (Delphi + C++ Builder). 2. Upgraded controls to support Embarcadero XE3 (Delphi + C++ Builder). 3. Upgraded controls to support Embarcadero XE4 (Delphi + C++ Builder). 4. Upgraded controls to support Embarcadero XE5 (Delphi + C++ Builder). 5. Upgraded design-time licensing manager to support development on 64-Bit operating systems. ActiveX and VCL/CLX Version 4.0.6 Service Pack 3 Bug Fixes: 1. Fixed iKeyBoard control SavePropertiesToFile issue. The control was not saving out the settings for individual buttons. 2. Fixed various Unicode issues with using the Plot Control's SavePropertiesToFile and LoadPropertiesFromFile methods. New Features: 1. Added Transparent Support to iRotationDisplay rotated images. 2. Upgraded plot control channel running statistics to support nulls and empties. 3. Upgraded All Instrumentation Products to support C++ Builder XE. 4. Upgraded All Instrumentation Products to support Delphi XE. 5. Upgraded All Instrumentation Products to support RAD Studio XE. ActiveX and VCL/CLX Version 4.0.4 Service Pack 2 Bug Fixes: 1. Fixed LoadPropertiesFromFile bug which would misinterpret carriage- return/line-feed characters. The result would be multi-line text being corrupted into single-line text strings. 2. Fixed iSwitchSlider Unicode display bug. 3. Fixed iSwitchRotary Unicode display bug. 4. Fixed data-cursor y-value issue when the channel was in Differential mode and the Snap-To-Data-Point option was enabled. The data-cursor would display the value for the previous data-point. 5. Fixed double key-press bug. Affected control's which support increasing or decreasing their value through key presses. For example, pressing the up-arrow key on the SwitchSlider or SwitchRotary would cause the value to increase by 2 steps. (Note: This bug would not occur on Vista or Windows 7). 6. Added ClipToAxes property to the Plot/XYPlot control ActiveX iPlotLimitX interface. This property has always existed, was always accessible through the property editor, but was missing on the ActiveX version iPlotLimitX COM interface (Was not an issue with the VCL version). New Features: 1. Added support for Delphi 2010. 2. Added support for C++ Builder 2010. 3. Added Support for RAD Studio 2010. 4. Upgraded all ActiveX controls to support Unicode. 5. Upgraded all property editors to display Unicode strings. ActiveX and VCL Version 4.0.2 Service Pack 1 Bug Fixes: 1. Fixed bug on the Plot control DataCursor which would occur when multiple x- axis where stacked end-to-end and the x-axis was in data-time mode. There would be a small error when the data-cursor calculated the x-value to display in the hint box. 2. Fixed AutoFrameRate issue which would result in the last frame not always being painted. Previously, when data collection was suspended, it was necessary to call the invalidate method to ensure the last frame was always painted. With this fix, you no longer need to call the Invalidate method. New Features: 1. Added PointerFillEnabled and PointerFillColor properties to the iSwitchSlider control. 2. Added the OnTimeBaseSecDivChange event to the iScope control. 3. Added the OnMouseDownObject, OnMouseUpObject, OnMouseMoveObject, and OnDblClickObject events to the iObjectCanvas control. These events will fire when the specific mouse effect occurs on a object within the control. The event parameters includes the handle for the specific object causing the event to fire. 4. Added Support for CodeGear Delphi & C++ Builder 2009. 5. Added CustomizeLabelEventText property to the PlotAxis object. This new property is used in conjunction with the OnXAxisCustomizeLabel event. It is only necessary to use this property in VBScript and JavaScript applications because HTML does not support passing text by reference. So in these types of applications, do not use the ALabel parameter passed in the event to modify the label text, and instead use this new property. ActiveX and VCL/CLX Version 4.0.0 Service Pack 0 Bug Fixes: 1. None. New Features: 1. Added Support For Borland's Turbo Delphi. 2. Added Support For Borland's Turbo C++. 3. Added Support For Borland's RAD Studio 2007. 4. Added Support for Borland's Delphi 2007. 5. Added Support For Borland's C++ Builder 2007. 6. Added PointerFillEnabled and PointerFillColor properties to the iSlider control. 7. Added the following events to the iPlot and iXYPlot controls... o OnGetMouseCursorChannel o OnGetMouseCursorXAxis o OnGetMouseCursorYAxis o OnGetMouseCursorDataCursor o OnGetMouseCursorDataView o OnGetMouseCursorLegend o OnGetMouseCursorLimit o OnGetMouseCursorTable o OnGetMouseCursorAnnotation ActiveX and VCL/CLX Version 3.1.0 Service Pack 5 Bug Fixes: 1. Fixed property editor lockup issues in ActiveX containers when using the Color, Font, and etc dialogs. 2. Fixed scrolling issue with the plot legend. Would occur when the plot control was first resized such that not all legend items could be displayed and the scroll bars appeared. Then the user would need to scroll the list down one or more items. When the plot control was then resized large enough to fit all legend items, the list would still be scrolled and the scroll buttons would disappear. 3. Added missing WordWrap checkbox in the iLabel property editor. 4. Fixed the Plot axis Master-UI-Input issue that caused other axes to not respond to mouse-wheel movements. 5. Fixed Plot Annotation bug that would occur when the X-Axis was in DateTime mode. There was an error in the span pixels calculation for the width of the annotation. 6. Fixed PlotAnnotation OuterMargin being ignored when the style property is set to ipasTextBox and multi-line text is displayed. 7. Fixed issue with the plot control axis labeling where when in the Prefix mode, the 0.0 value tick label would show up as 2.78f (0.000000000000278) due to floating point storage/rounding issues. The new code detects this rounding issue and displays a hard-coded "0.0" string. 8. Fixed bug on the iXYPlot control data-cursor that would result in small inaccuracies with the returned X&Y values. 9. Fixed bug with Instrumentation controls that support saving strings properties to file and contained multi-line text. The symptoms would be when reloading the properties, multi-line string properties would only load the first line and all other lines would be dropped. 10. Fixed OnPositionOverMax and OnPositionUnderMin event not firing on Position/Scale type components. 11. Fixed resource leak in iLedRound control. Would result in a HRGN object being leaked each time the Led was drawn. 12. Fixed ALT key trapping problem on all controls in the ActiveX version. New Features: 1. Added SpanMinimum, MaxMargin, and MinMargin properties to the axes Tracking features. Use SpanMinimum to limit the minimum value for the Span. Use the MaxMargin and MinMargin properties to provide a margin above or below the data. These properties are also used when performing a ZoomToFit operation. 2. Added the ResetStartTimeOnFirstDataPoint property to the iPlotChannel object. This property is useful if you are adding data with an elapsed time using the AddYElapsedTime or AddYElapsedSeconds methods and you want the first data-point to start at zero. 3. Added AllowOutOfOrderXValues and DrawOutOfOrderXValues properties to the Plot control Channel type (iPlotChannel for VCL and iPlotChannelX for ActiveX). The iPlotChannel is designed assuming that the X-Values are incremental. This allows for high-speed drawing of the channel data using the y = f(x) formula. For a default plot control setup, you will not receive an error if you add data-points with an out-of-order X-Value. Set the AllowOutOfOrderXValues property to False so that an exception is raised when an out-of-order X-Value is added. If you need to have out-of-order x- values, set the DrawOutOfOrderXValues property to True, but you will loose the high-speed drawing optimization capability. 4. Added the following events to the Plot control... OnMouseWheelXAxis OnMouseWheelYAxis OnMouseWheelDataView OnMouseWheelLegend OnMouseWheelChannel OnMouseWheelLimit OnMouseWheelDataCursor OnMouseWheelAnnotation 5. Added a CanFocus property to the follow plot sub-objects... XAxis YAxis DataView Legend Channel Limit DataCursor Annotation 6. Added ClickRectLeft, ClickRectRight, ClickRectTop, and ClickRectBottom properties to the iPlotAnnotation object (All properties are in pixels). These properties where added to allow you to determine the extents of annotations like the Text and TextBox which have their extents determined by the Text, Font, and etc. attributes. These new properties are not calculated until the plot is repainted. If you need to position another object based on these property values immediately, you will need to call the ReCalcLayout method to force a recalculation of all pixel based property values. 7. Added UseCachedInerpolatedData property to the plot control iPlotDataCursor object. This property is used to speed up calls to the GetInterpolatedYValue method. When this property is set to False, each call to the GetInterpolatedYValue method requires a ReCalcLayout method call. If you are in a loop calling GetInterpolatedYValue many times, performance can suffer significantly. Typically, this scenario applies when using a curve fitting interpolation style like Cubic-Spline, Polynomial, and etc. where you want to iterate over the visible data to get the displayed interpolated values. For this case, set UseCachedInerpolatedData to True, make any other display settings, and then call the ReCalcLayout method once before looping and calling GetInterpolatedYValue. Note: You are restricted to visible data when using this technique. 8. Added Scalar and Offset properties to all opc-items. Used for scaling and or applying an offset correction to an opc-item's data. On new opc-data from the opc-server, the data is multiplied by the scalar before the offset is applied. This feature is only support on opc data that is of type real or integer. The scalar and offset is not applied to data with types like Boolean, String, and etc. The PlotChannel adds an OPCScalar and OPCOffset property that is used for the y- value. The XYPlotChannel adds an OPCScalar, OPCOffset, OPCScalar2 and OPCOffset2 property. The OPCItemName, OPCScalar, OPCOffset are used for the x-value and the OPCItem2Name, OPCScalar2, OPCOffset2 are used for the Y-value. 9. Added options to allow showing and customization of data-points hints to the user. Set the channel ShowDataPointHints property to True to allow a hint box to be shown next to the data-point. The plot must also be the select mode and the data-point markers must also be visible for this option to be enabled. By default, the x&y value for the data-point will be shown and will be formatted using the respective axes labeling formatting. To provide your own formatting, use the OnDataPointCustomizeHint event and change the AText parameter to the desired text you want displayed. 10. Added OnMouseDownDataPoint, OnMouseMoveDataPoint, and OnMouseUpDataPoint events to the plot channel objects. These events will only fire when the channel is enabled, the plot is in the select mode, and data- point markers are shown on the channel. 11. Added Image property to the Plot Annotation object. When this property is set to a non null value, the ImageIndex and ImageListIndex properties are ignored even if they point to a valid image in one of the three different imagelists. Note: The Style of the annotation must also be set to "ipasImage" for the image to be displayed. The lower left pixel of the image is used to set the transparent color of the image. If you do not want the image to be transparent, make sure to set this pixel to a color that does not match any other color in the image. You can also use the new ImageLoadFromFile method to load the image directly from a file. Also added an ImageClear method to make it easy to clear out the image in many different ActiveX development environments. 12. Added None to the TiPlotAxesControlStyle which is used by the PlotDataView AxesControlMouseStyle and AxesControlWheelStyle properties. These new enumeration allows you to independently turn of the DataView Mouse and Wheel axes control. 13. Added ability to load the iSwitchLed Glyph property image inside of the Instrumentation design-time property editor. 14. Added ability to load the iRotationDisplay Picture property image inside of the Instrumentation design-time property editor. 15. Added property ShowDisabledState to the iSwitchRotary, iSwitchSlider, iSlider, and iKnob control. This property allows you to control whether the control draws itself in a disabled state when the Enabled property is set to False. This feature is helpful when you have background colors that do not contrast will be disabled text and borders that are drawn using black and gray colors. 16. Added Image rotation capability to the iObjectCanvas control. Use the GetObjectImageRotation and SetObjectImageRotation methods on the iObjectCanvas to Get or Set the rotation of the image object. 17. Added new PlotAnnotation style called ipasRectangle2. The ipasRectangle2 style uses the X, Y, X2, and Y2, properties of the annotation instead of the X, Y, Width, and Height like on the ipasRectangle style. The main reason for this addition is to eliminated the wobble in the annotation when resizing it. The wobble occurs due to aliasing of the mouse movements along with dividing it evenly into the new Width and or Height value. 18. Added a new property to the PlotAnnotation and PlotLimit called SelectModeOnlyInteraction. This property is set to true by default meaning that the plot object will not be mouse interactive will the plot data-view is not in the select mode. Setting this property to a false will cause the object to be interactive in any data-view mode (Select, Zoom-box, or Data-Cursor). The main benefit of this property is to allow these objects to generate mouse-move events regardless of the mode of the data-view. 19. Upgrade the AngularGauge to hide the last tick label when the ArcRangeDegrees is set to 360 degrees. Before this upgrade, you would have the Min label overlapped by the Max label. Only the Min label will now be shown. 20. Added 2 additional color sections to the iLedBar and iLedSpiral controls. There are 4 new properties called SectionColor4, SectionColor5, SectionEnd3, and SectionEnd4. The SectionCount property upper limit has been changed from 3 to 5 to support the two addition color sections. 21. Added VK_APPS key support to plot object pop-up menu support. The pop-up menu will now pop-up when hitting the menu-list keyboard key. 22. Addded OnAnnotationMoveUser event to the plot controls. This event will fire anytime the user moves an annotation and the index of the annotation is passed in the event handler parameters. 23. Addded OnAnnotationResizeUser event to the plot controls. This event will fire anytime the user moves an annotation and the index of the annotation is passed in the event handler parameters. 24. Added the following properties, methods, and events which were present on the Plot control main VCL interface, but were missing on the ActiveX interface... Properties : PrinterPaperHeightCentimeter, PrinterPaperHeightInches, PrinterPaperHeightPixels, PrinterPaperWidthCentimeters, PrinterPaperWidthInches, PrinterPaperWidthPixels, PrintXStart, PrintXStop. Methods : PreviewChart, PrintAdjustXSpanToMinutesPerMillimeter, PrintSizeToFillPage. Events : OnBeforePrintPage 25. Add CloseAllServerConnections method to the iOPCManager component. This method allows you to force all OPCServer connections to close. This method is useful when the DCOM connection to the OPC server has been lost and you wish to terminate all connections from the iOPCManger's point of view. After this method has been called, re-add your opc-items, or call the Activate method on the existing opc-items have the connect re-established.
Description: