Instrumentation Components Release...
Transcript of Instrumentation Components Release...
Instrumentation Components Release Notes
Release: 5.0.2 - V5 SP1
Installer
Build: 86
Release
Date: 12 Nov 2015
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.
26. Added TextLineAlignment property to the plot annotation sub-object. This
property allows you to specify how multiple lines of text are aligned
horizontally in the annotation. Applies to the Text and TextBox style of
annotation.
27. Added the ability for the user to zoom-box while in the scroll/zoom mode by
using the right mouse button. Before, the user had to switch the plot control
into the zoom-box mode to be able zoom into a specific area using the left
mouse button. The user can now perform a zoom-box operation using the right
mouse button while in the scroll/zoom mode. The left mouse button is still used
to scroll/zoom as before. The user must move the mouse more than 5 pixels in
either direction to initiate the zoom-box operation. If the user moves the mouse
less then 5 pixels in either direction while the mouse is down, then releases the
mouse, the pop-up menu will still appear as before.
28. Added the AxesControlAllowInSelectMode property to the Plot Data-View
object. This property allows scrolling and zooming of the plot control while in
the Select mode (Also assuming the AxesControlEnabled property is set to
True). Before, you had to turn off the select mode to be able to scroll or zoom
the view (Also assuming the Zoom-Box mode has not selected). The new right-
click zoom-box mode is supported by this option.
29. Added Visible, BackGroundColor, FontColor, and UseControlFontColor
properties to the Keyboard control button properties. With these properties, you
can hide or customize the look of a specific keyboard button.
30. Added support for adding 2 or more OPC-Items using the same property name
on the control. Typically, this option would be used to control 2 different
digital signal's on the OPC-Server.
31. Added OPCItem2Name, OPCScalar2, and OPCOffset2 properties to the Plot
control channel object. These properties give you the ability to have a separate
OPC item for the X and Y value for each data-point and also to scale and offset
the value. Normally, the OPCItemName property is used to specify the OPC-
Item for the Y-Value and the X-Value is generated based on the
OPCXValueSource property setting. When having the X & Y value sourced
from an OPC-Item, use the OPCItemName property to specify the OPC-Item
for the data-point X-Value and use the OPCItem2Name property to specify the
OPC-Item for the data-point Y-Value.
32. Added ability for the Plot control Label object to support images. Use the
ImageListIndex and ImageIndex property to use an image from one of the 3
internal ImageList's in the plot control. Or use the Image property or
ImageLoadFromFile method to load an image through code dynamically. Use
the ImageClear method to dynamically clear the image. The image will be
centered horizontally using the Alignment property of the label. The
MarginLeft property is used if the Alignment is set to iahLeft. The
MarginRight property is used if the Alignment is set to iahRight. Both the
MarginLeft and MarginRight properties are ignored if the Alignment is set to
iahCneter.
ActiveX and VCL/CLX Version 3.0.8 Service Pack 4
Bug Fixes:
1. Fixed property editor bug that would cause lockups in several different
development environments when click on Color, Font, Picture, and etc. dialogs.
2. Fixed tabbing problems with the ActiveX controls in Visual C++.
3. Fixed OPC Item browsing bug where an Access Violation would occur when
trying to browse more than 512 items in a given branch.
4. Fixed Plot data-cursor bug where delta cursors would always report 0 for the
measured value.
5. Fixed XYPlot data-cursor bug where the data-cursor would always measure the
first channel regardless of what channel was selected.
6. Fixed drawing error bug in the iPhonePad and iKeyBoard control where some
buttons would draw using the disabled control even if they were not disabled.
New Features:
iLinearGauge
Added GetPointersFocused and SetPointersFocused methods.
iLable
Added WordWrap property for multi-line support.
iPlot and iXYPlot
Added OnAddChannel event.
Added OnAddXAxis event.
Added OnAddYAxis event.
Added OnAddDataCursor event.
Added OnAddDataView event.
Added OnAddLegend event.
Added OnAddLimit event.
Added OnAddTable event.
Added OnAddAnnotation event.
Added OnRemoveChannel event.
Added OnRemoveXAxis event.
Added OnRemoveYAxis event.
Added OnRemoveDataCursor event.
Added OnRemoveDataView event.
Added OnRemoveLegend event.
Added OnRemoveLimit event.
Added OnRemoveTable event.
Added OnRemoveAnnotation event.
ActiveX and VCL/CLX Version 3.0.6 Service Pack 3
Bug Fixes:
1. Fixed bug in PieChart and PercentBar where slices less than 1% would not
draw.
2. Fixed name conflict problem with Visual C++ wrapper generator. The
ItemCount property would conflict with the GetItemCount method. changed
GetItemCount method name to Get__ItemCount (note: Get is followed by a
double underscore).
3. Fixed hit test code for all plot objects. Plot objects on the bottom would
respond to the hit-test first. Plot objects on top now respond to the hit-test first.
4. Fixed Zoom-To-fit bug on the PlotAxis class. When the channels assigned to
the axes had no data, calling the ZoomToFit method on the axis would cause
the Span to be set to zero. The ZoomToFit method has been changed to not
modify the Span in this case.
5. Fixed X-Axis label formatting bug that caused the application/process to lock
up. when the Data-Time mode was enabled on the axis and the increment in
labels was in days, months, or years, for some cases, the label generation code
would enter an endless loop causing the application/process to lock up.
6. Fixed clipping problem when printing the plot control with a gradient
background.
7. Fixed bugs on Plot Data-Cursor that would result in a null being displayed if
the pointer was exactly over the first or last data-point in a channel.
8. Fixed Zoom-To-Fit bug on the axes that would occur when all data-points had
the same value. Would result in the application/process locking up.
9. AnalogOutput would always display a "." character for the decimal separator.
No Fixed to use the International settings on the operating system.
10. Fixed iPaintToDC method on all controls to use the correct X & Y offset.
11. Fixed data-cursor problems in displaying the correct values when the axes were
configured for logarithmic display.
Distribution Changes:
The "iOPC.dll" has now been renamed to "iOPC2.dll". The new "iOPC2.dll" has
interface changes to make it compatible with our .Net components/controls. Version 3
SP3 for ActiveX & VCL and Version 3 SP2 for .Net must now use the new iOPC2.dll
during development and distribution. If you have OPC applications developed with
our ActiveX or VCL controls prior to Version 3 SP3, you must still distribute them
with the older "iOPC.dll". It is recommended that both dll's be distributed to the
System32 directory on the client machine and they can coexist together.
New Features:
iAngularGauge
Added a new property: FaceBevelSize
Added a new property: FaceBevelStyle
Added a new property: FaceColor
Added a new property: FaceStyle
Added a new property: Hub3D
Added a new property: ShowFace
iEditCustom
Added a new property: AcceptOnLostFocus
iGaugeComponent
Added a new method: SetPointersPositionNoEvent
iKnob
Added a new property: Color
iLedBar
Added a new property: FillReferenceEnabled
Added a new property: FillReferenceValue
iLinearGauge
Added a new property: AllowFocus
Added a new property: KeyArrowStepSize
Added a new property: KeyPageStepSize
Added a new property: MouseWheelStepSize
Added a new property: PixelsMax
Added a new property: PixelsMin
iOPCItem
Added a new method: GetDataNow
Added a new property: UpdateSuspended
iPositionComponent
Added a new property: MinMaxStyle3D
iSlider
1. Added a new property: PixelsMax
2. Added a new property: PixelsMin
iSwitchLed
1. Added a new property: MomentaryStyle
iSwitchRotary
1. Added a new property: FaceBevelSize
2. Added a new property: FaceBevelStyle
3. Added a new property: FaceColor
4. Added a new property: FaceStyle
5. Added a new property: OuterMargin
6. Added a new property: PointerFaceBevelSize
7. Added a new property: PointerFaceBevelStyle
8. Added a new property: PointerFaceColor
9. Added a new property: ShowFace
10. Added a new property: ShowPointerFace
iThermometer
1. Added a new property: IndicatorUserCanMove
2. Added a new property: PixelsMax
3. Added a new property: PixelsMin
iAngularLogGauge
1. Added a new property: AutoSize
2. Added a new property: FaceBevelSize
3. Added a new property: FaceBevelStyle
4. Added a new property: FaceColor
5. Added a new property: FaceStyle
6. Added a new property: Hub3D
7. Added a new property: OuterMargin
8. Added a new property: ShowFace
iLogGauge
1. Added a new property: PixelsMax
2. Added a new property: PixelsMin
iTank
1. Added a new property: AutoTankShadowColor
2. Added a new property: TankShow
iPlotAnnotation
1. Added a new property: OuterMargin
2. Added a new property: PolyPointAdd
3. Added a new property: PolyPointsClear
4. Added a new property: PolyPointsCount
5. Added a new property: PolyPointX
6. Added a new property: PolyPointY
7. Added a new property: ReferencePositionX
8. Added a new property: ReferencePositionY
9. Added a new property: ReferenceSizeX
10. Added a new property: ReferenceSizeY
iPlotAxis
1. Added a new property: TrackingIncrementStyle
iPlotChannel
1. Added a new method: CalcIndex
iPlotChannelCustom
1. Added a new property: ClipToAxes
2. Added a new property: UserCanMoveDataPointsStyle
3. Added a new property: UserCanMoveDataPoints
iPlotComponent
1. Added a new method: AnnotationDefaultReference
iPlotCustom
1. Added a new property: AnnotationDefaultReferencePositionX
2. Added a new property: AnnotationDefaultReferencePositionY
3. Added a new property: AnnotationDefaultReferenceSizeX
4. Added a new property: AnnotationDefaultReferenceSizeY
5. Added a new method: RefreshLayoutManager
iPlotDataCursor
1. Added a new method: GetInterpolatedYValue
2. Added a new property: SnapToDataPoint
iPlotLegend
1. Added a new property: LineColumnHeight
2. Added a new property: LineColumnWidth
iPlotObject
1. Added a new method: DoEditMenuItemClick
2. Added a new method: HitTest
3. Added a new property: UserCanEdit
iPlotTable
1. Added a new property: RowDisplayStartIndex
iScopeTimeBase
1. Added a new method: AddSecPerDiv
2. Added a new method: RemoveAllSecPerDiv
iXYPlotChannel
1. Added a new property: OPCItem2Name
Additional New Features:
General
iAngularGauge, iLinearGauge, iLogGauge, iAngularLogGauge, iSlider,
iThermometer, iSwitchRotary, and iSwitchSlider controls now show their scales
disabled when the Enabled property is set to False.
Plot Control
1) All text based Plot Annotations have been upgraded to support text alignment and
text rotation.
2) Improved speed for property and data-file loading.
3) Added all US and International printing paper sizes.
ActiveX and VCL/CLX Version 3.0.4 Service Pack 2
Bug Fixes:
1. Fixed Plot Pack Table bug which would incorrectly size the height of
horizontal tables.
2. Fixed Plot Pack axis tracking bug introduced in Version 3.0.2 SP1 which would
prevent correct tracking when the tracking style was set to Expand/Collapse.
3. Fixed bug in table sizing if located on top or bottom of the DataView.
4. Fixed bug in the iPlotAxis Zoom-To-Fit feature that was using non-visible
points to determine the new min and span.
5. Fixed bug in all components that would prevent a window shutdown while the
components were running.
6. Fixed bug in Plot Pack Property editor regarding the addition of labels through
the layout manager. The incorrect label would be loaded when selecting
"Edit..." through the layout manager.
7. Fixed LoadPropertiesFromFile and Save PropertiesFromFile where the
RingBuffer property would be 0 regardless of your current setting or the setting
stored from the SavePropertiesFromFile method when loading the properties
when the channel is set to the FullFeature data style.
8. Fixed bug in iEdit, iAnalogOutput, and iIntegerOutput components that caused
the text displayed to be truncated when the text was wider than the width of the
control. You would be unable to scroll back to edit the text that was not in
view.
9. Fixed DataView gridline bug when using non solid lines. Colored lines would
sometimes be drawn between the dots or dashes.
10. Fixed Plot Pack runtime property editor bug where radio group titles would not
be translated.
11. Fixed bug with ActiveX property editors under the Citect SCADA development
environment where the property editor would lockup when clicking on buttons
when there was a list box on the same property editor tab.
12. Fixed ActiveX bug where SetWindowPos() call in Visual C++ would generate
an exception.
13. Fixed bug in iObjectCanvas where overlapped objects would be misidentified
in the OnClickObject event. The lowest ZOrder object would be identified in
the OnClickObject event as being clicked, even though an object with a higher
ZOrder that overlapped the object.
14. Fixed Plot Pack Data Cursor bug where a hidden hint would still be "clickable",
interfering with selection of the DataCursor line.
New Features:
1. Upgraded Plot Component Compact Interval Data Style to support Ring Buffer.
2. Upgraded Plot Component Compact Interval Data Style to support relocating
the origin X-Value of the Data Set by modifying the DataX[0] property of the
channel. The DataX value of the first data point (i.e. DataX[0]) dictates the
origin of the data set for that channel when using the Compact Interval Data
Style, since the interval between each data point is fixed to save memory
space. Modifying DataX[0], however, doesn't change the fixed interval set
after adding the first two data points. To change the interval, clear the channel
and re-add all channel data.
3. Improved Plot Pack draw performance for multiple Y-Axes.
4. Added DataFile Column Separator property to allow for text tabs or commas.
5. Added DataFile Format property to allow for Text or Compact Interval
(optimized for the Compact Interval Data Type) formatted files.
6. Added OnResize to the TiPlot and TiXYPlot VCL Event Handlers.
7. Added A3, A4, and A5 paper size support to the built-in Plot pack printing
feature.
8. Added ability to change Compact Interval start reference after data has already
been added to the channel by setting the X-Value of the first data point.
9. Added ChannelNameColorStyle to the iPlotLegend object. Allows the channel
name text that is displayed to track other object colors. Possible values are
Font, Channel Color, X-Axis Font Color, or Y-Axis Font Color.
10. Added PointerColor and PointerHighlightColor properties to the iSwitchRotary
and the iSwitchSlider components.
11. Added GetPointersVisible and SetPointersVisible to all Gauge Components.
12. Added to the Plot components two new properties: LastPropertiesFileName,
LastDataFileName and three additional events: OnAfterSaveProperties,
OnAfterLoadData, and OnAfterSaveData. Using these new three events in
addition to the existing event: OnAfterLoadProperties, you can be notified
when the user has saved/loaded data or property files. The two new properties
are useful for determining the filename used during the load or save operation.
13. Updated iImageDisplay to not draw the image as "disabled" when the Enabled
property is set to FALSE.
14. Updated iPlotAxis to include a new ZoomToFitFast method, and a new
TrackingStyle called ExpandCollapseFast. The older ZoomToFit and
ExpandCollapse features would iterate through the entire data set to find the
high and low point of the data when scaling. The new Fast methods use the
RunningXMax, RunningXMin, RunningYMin, and/or RunningYMin methods
of the channel object which cache the historical Max/Min values, thereby
greatly speeding up the ZoomToFit and ExpandCollapse features. Warning: do
not use this new feature if you modify historical data unless you manually call
the appropriate GetXMax/GetXMin or GetYMax/GetYMin functions to force
an update of the corresponding running totals. (e.g. if you modify the Y-value
of a previous data point, you must call GetYMax and GetYMin to update the
"RunningYMax" and "RunningYMin" for the new "Fast" features to work
correctly. ).
15. Updated iPlotLegend with two new properties: ViewStartIndex and
ViewStopIndex. These properties are useful when needing to know the topmost
and bottommost indexes of the visible channels in the Legend. For example, if
you have 100 channels in the chart, and the Legend is currently showing
channel 52-60, then ViewStartIndex=51 and ViewStopIndex=59.
16. Added Transparent and Stretch properties and features to the iImageDisplay
component.
17. Added Stretch property to iRotationDisplay component.
18. Upgraded iSwitchPanel AutoSize to take the height into consideration in
addition to the width when adjusting the KnobRadius property.
19. Added OnClickPointer event hander to the iAngularGauge, iLinearGauge,
iAngularLogGauge, and iLogGauge components. (Not currently supported
under CLX).
20. Added PointerBitmap property and ispsBitmap enumeration to the PointerStyle
property of the iSlider and iSwitchSlider components.
21. Added SetValueNoEvent method, ValueMax property, and ValueMin property
to the iIntegerOutput component.
22. Updated Precision property on the iAnalogDisplay and iAnalogOutput
components to support -1 to indicate the "G" formatting style. The "G"
formatting style will format numbers as the shortest possible string. It will
display the value either as a whole number or exponent, whichever is
shortest. If the precision is unknown at design-time this will ensure that all
digits to the right of the decimal place are shown.
23. Added OnAfterOpenEditor and OnAfterCloseEditor event handlers to the Plot
Pack components to notify when the run-time property editor is opened and
closed.
24. Added an Arc object to the iObjectCanvas component. The following methods
have been added to support this new object type...
AddArc
SetObjectAngles
SetObjectStartAngle
SetObjectStopAngle
GetObjectStartAngle
GetObjectStopAngle
25. Plot Pack iPlotChannel object was updated to support a new interpolation style:
Differential Terminated. This style is the same as the Differential interpolation
style, except there is no line drawn from the last data point out to infinity.
26. Added RotationDesiredSpacing property to the iSwitchRotary
component. Supports 22.5, 45, or 90 degree specification. The desired portion
means that it will only use the angle specified if the "number of positions" *
"desired angle" <= "360 degrees".
27. Added Candlestick option to the iPlot Channel High-Low feature. Below is a
list of new properties added to support this new feature...
HighLowStyle
HighLowShadowColor
HighLowBullishColor
HighLowBearishColor
28. Upgraded iCompass and iDualCompass to allow changing of the direction
captions. Added the following properties...
NCaption
SCaption
ECaption
WCaption
NECaption
NWCaption
SECaption
SWCaption
29. Upgraded Plot Pack Axes labeling to support rotated text. Can be set to 0, 90,
180, and 270 degree rotation.
30. Upgraded iObjectCanvas component to support polygons. Below are the
following methods added to support this feature...
AddPolygon
ObjectAddPolyPoint
ObjectClearPolyPoints
31. Added Print Preview support to the Plot Pack printing feature.
32. Added Plot Pack OnBeforeDataCursorUpdate event. Allows customization of
formatting or other customization before the actual strings are generated for
display on the cursor.
33. Added PNG image support to all components: SaveImageToPNG and
GetBytesPNG methods. Plot pack save dialog updated to support PNG.
34. Added JPEG image support to CLX components under Linux.
35. Added Plot Pack printing support for CLX components under Linux.
36. Added new iOPCManager non-visual component for use in conjunction with
our OPC-enabled components. Allows combining of OPC connections to
servers through a common connection. Previously, each individual component
would make its own connection to the OPC server and its own group. The new
iOPCManager along with the new iOPC.dll improves performance by utilizing
Shared Server Connections and now adds support fro adding groups that can be
shared among OPC Items of our components. The iOPCManager component
has a visual property editor for adding/removing groups as well as properties
and methods that can be used to modify groups at runtime. Two new events,
OnAfterGroupUpdate and OnBeforeGroupUpdate provide notification of
updates that occur among the OPC Items utilizing a particular group.
37. Added multi-line support to the Plot Pack Data Cursor Hint. Use chr(13) for
manual line breaks.
38. Added the following to OPCItems...
ActivateSuspend method
GroupName property
39. Added OPC DeleteItem method for deleting individual OPC Items at runtime.
40. Added new TextBox style (differs from TextRectangle) to Plot Pack
annotations.
41. Added 24 new event handlers to plot pack.
MouseDown
MouseMove
MouseUp
...events for all 8 basic Plot Objects: Channels, X-Axes, Y-Axes, Tables,
DataView, DataCursors, Legend, and Annotations.
42. Added transparency support to Tank.
43. Added three new styles to Tank: Cutout2, Large Window, and Custom.
44. Tank Custom cutout style uses two new methods: CustomPointsAdd,
CustomPointsClear. Use CustomPointsAdd to add at least three points to make
a closed polygon. Added points are in the range of 0-100, representing
percentage (%) of the width and height of the component. It is recommended
to restrict points between 10-90% when the tank is shown.
45. Added vertical and horizontal orientation to Tank.
46. Added scale reverse to Tank.
47. Added OPCActivateSuspend, OPCActive, OPCUpdateSuspend, and
OPCUpdateResume to the iPlot and iXYPlot component Channel objects.
48. Added HitTest method to all Plot Pack sub-objects (channel, y-axis, x-axis,
annotation, label, etc.). Allows you to test each sub-object and determine if an
x/y coordinate exists within the sub-object or not.
49. Added Theme support to the CLX version of the components under both
Windows and Linux.
ActiveX and VCL/CLX Version 3.0.2 Service Pack 1
Bug Fixes:
1. Fixed problem in iPlot and iXYPlot with adding null data points and the ring
buffer. In previous versions if you had enabled the ring-buffer and were adding
null data points to the channel, data would sometimes be corrupted.
2. Fixed bug in iSwitchLED where the accelerator key(& placed before
accelerator key), though it would still function, would not be shown with an
underline but would show the "&" character instead.
3. Fixed several issues with the CLX version of the Instrumentation and Plot Pack
components.
4. Help file corrections. Fixed VCL/CLX help file integration issue with Delphi
and C++ Builder where event help topics would not come up properly in the
object inspector when you press F1.
5. Fixed Plot Pack LoadPropertiesFromFile method where Label objects were not
properly loaded. If you would load properties from a file, you would get a miss
positioned, extra label object than expected.
6. Fixed memory leak in Plot Pack components which would occur only when the
component was destroyed.
7. Fixed border style bug in iPanel component. The border style property would
not properly stream this style property.
8. Fixed font size issues with the CLX component property editors under Linux.
New Features:
1. Added Table support for Plot Pack Components. Allows you to position
custom tables anywhere around the DataView. Allows unlimited number of
rows and columns with individual formatting for each column. Supports
scrolling if the number of rows exceeds the display area. Allows you to specify
the text in each cell.
2. Upgraded iAnalogOutput key-filter to support the current regional setting for
the decimal separator character.
3. Upgraded iLedMatrix indicator caption to support multiple lines of
text. Accepts line feed, carriage return, or both to indicate a break in the line.
4. Added methods and properties for customizing the tick labels on the Plot Pack
Axes. Now supports a custom mode where you can add your own custom
labels (specify the text) at specified locations.
5. Added RecalcLayout to recalculate all coordinates of all Plot sub-objects
without having to wait for the next repaint.
6. Added TransferChannelData method to Plot components to allow transferring
of data from one channel to another. Used to allow easy transfer of basic (Only
X, Y, null, and empty properties. All other data point and channel properties
are not transferred) data from one channel to another. {Appends Data. Need to
clear out destination channel for exact copy}.
7. Upgraded Plot Pack Annotations to support individual clip to axis property.
8. Upgraded LineX and LineY Plot Annotations to extend to the full extent of the
DataView by utilizing the new Annotation-specific clip to axes property.
9. Upgraded iPlot Plot Pack Channel to support High Low graphs/data
points. You must have the Channel Data Style set to Full Feature to utilize this
feature. Added the following methods and properties...
AddHighLow
DataHigh
DataLow
DataOpen
DataClose
HighLowEnabled
HighLowBarColor
HighLowBarWidth
HighLowOpenShow
HighLowOpenColor
HighLowOpenWidth
HighLowOpenHeight
HighLowCloseShow
HighLowCloseColor
HighLowCloseWidth
HighLowCloseHeight
10. Added ForceStacking property to Axes. During normal layout, only touching
ends of stacked axes would take the Stacking End Margin spacing into
account. By setting this property to True, then all axes will use the Stacking
End Margins on all ends. This was done to ensure that outer, stacked axes will
have the same end margins as all axes in the same ZOrder. If this property is
set to False (the default), then the axes will behave as previously indicated.
11. Added PasswordChar property to iEdit to support display of password
characters.
12. Added the following events to all visual ActiveX controls that were missing
them...
OnMouseDown
OnMouseMove
OnMouseUp
OnKeyDown
OnKeyPress
OnKeyUp
13. Added the following events to all visual VCL/CLX controls that were missing
them...
OnMouseDown
OnMouseMove
OnMouseUp
OnKeyDown
OnKeyPress
OnKeyUp
OnEnter
OnExit
14. Added Mouse Wheel Zooming support to the Plot Pack Axes.
15. Added CTRL key support to the Plot Pack Axes and DataView as a NOT
operator to switch between scrolling and zooming when clicking and dragging
the axes.
16. Added SHIFT key support to the Plot Pack. If the MouseStyle (or WheelStyle)
is not set to Both, then the SHIFT key will switch between the X-Axis or Y-
Axis style. If the MouseStyle (or WheelStyle) is set to Both, then the SHIFT
key is ignored. Simultaneous use of both the SHIFT key and CTRL key is
supported.
17. Plot Pack DataView upgraded to support mouse movements and mouse wheel
movements to support scrolling and zooming of the axes. This is similar to the
zooming and scrolling feature in our older iStripChart control. Added the
following properties to the DataView...
AxisControlEnabled (Default = False)
AxisControlMouseStyle (X-Axis, Y-Axis, or Both, Default = Both)
AxisControlWheelStyle (X-Axis, Y-Axis, or Both, Default = X-Axis)
18. Upgraded Right-Clicking Plot Pack code to support right-clicking channel trace
lines to bring up the channel pop-up menu. Supports clicking anywhere on the
trace line and within 10 pixels of the trace line.
19. Added OnXAxisMinSpanChange and OnYAxisMinSpanChange events to iPlot
and iXYPlot.
20. Updated help files for all new properties, methods, and events.
21. Improved HTML help file and Linux HTML help file by removing non-
converted "See Also" links and removing unnecessary double-line breaks.
ActiveX and VCL/CLX Version 3.0.0 Service Pack 0
Bug Fixes:
1. Fixed OptionSaveAllProperties property on Plot Pack components. The
property was previously ignored when saving properties to a file.
2. Fixed ModeComboBox where if you selected an item and then deleted all
items, the ItemIndex property would still point to the deleted item which would
cause errors when accessed.
3. Fixed tabbed-dialog bug in Visual C++ where the application would crash if
one of our components was on the tabbed-dialog and you alt-tabbed to another
application and then back to the Visual C++ application.
4. Fixed Plot Pack bug where if you delete an Axis and then re-add the same type
of Axis, the Channel's associated axis pointer would not reconnect to the new
axis until the next repaint. This would result in functions such as ZoomToFit on
the Axis not working correctly until after a control repaint.
5. Fixed Plot Pack bug where an extra margin would have been incorrectly added
for any plot object placed in-between the DataView and an axis, and that object
had its Visible property set to FALSE.
6. Fixed iXYPlotX Plot Pack ActiveX bug where the Image List and Translations
were not being streamed.
7. Fixed Help File integration into Borland Delphi and Borland C++ Builder
Versions 6 and higher.
8. Fixed bug in Strip Chart where the Auto Scale would malfunction, shifting data
out of view if the AutoScaleHysterisis property was non-zero and AutoScale
was enabled.
Plot Pack New Features:
1. Added the following properties to the Plot Pack Legend object to allow control
of the Legend Column Captions...
CaptionColumnTitle
CaptionColumnXAxisTitle
CaptionColumnYAxisTitle
CaptionColumnXValue
CaptionColumnYValue
CaptionColumnYMax
CaptionColumnYMin
CaptionColumnYMean
2. Added the following methods to the Plot Pack components to allow runtime
clearing and adding images to the built-in image list:
ImageListClear
ImageListLoadFromResourceID
ImageListLoadFromResourceName
3. Added runtime-only property MouseDownHandle to the Object Canvas
component to be used in conjunction with the following existing event handlers
to allow manipulation of objects.
OnMouseDownDisplay
OnMouseMoveDisplay
OnMouseUpDisplay
4. Added Additional Plot Channel Data Style: ipdsFullFeature. This new style
enables extended feature enhancement options of the channel object.
5. Added the following Plot Pack iPlotChannelCustom object (iPlot and iXYPlot)
properties for manipulation of individual data points (when data style is set to
ipdsFullFeature)...
DataMarkerShowing
DataMarkerSize
DataMarkerPenColor
DataMarkerPenStyle
DataMarkerPenWidth
DataMarkerBrushColor
DataMarkerBrushStyle
DataTraceLineColor
DataTraceLineWidth
DataTraceLineStyle
6. Added the following Plot Pack iPlotChannel object (iPlot component only)
properties for manipulation of individual data points (when data style is set to
ipdsFullFeature)...
DataBarVisible
DataBarReference
DataBarWidth
DataBarPenColor
DataBarPenWidth
DataBarPenStyle
DataBarBrushColor
DataBarBrushStyle
7. Updated Plot Pack channel fill routines to support digital channel option as well
as cubic-spline, polynomial, rational, and differential interpolation styles.
8. Updated Plot Pack cursor to support cubic-spline, polynomial, and rational
interpolation styles. Data Cursors already supported digital and differential
interpolation styles.
9. Added Layer Ordering support to all Plot Pack objects. Currently only has an
effect on objects that are displayed in the DataView area (e.g. channels,
annotations, limits, Axes setup as Cartesian, etc,). DataCursors are currently
always forced to the topmost layer and cannot be changed. The highest layer
number are drawn on top of lower layer numbers. If the layer numbers are the
same, then the Instrumentation internal layering order is preserved (i.e. the old
layering order is used from previous versions). By default, all objects are set to
a layer order of 100 for backwards compatibility.
10. Stats page upgraded to clear itself when changing channel objects in the
runtime property editor. It would previously show the previous channel's
information. The page is not refreshed automatically since auto refresh may
cause a performance decrease when refreshing information concerning very
large datasets.
11. Layout Viewer upgrade to support automatic resizing of objects when
attempting to stack using drag and drop. You can simply drag and drop a plot
object on another of the same type to have them proportionally sized and
stacked automatically. Previously you needed to manually size the objects
before you could stack them in the Layout Viewer.
12. Added PrinterName property to the Plot Pack components to specify which
printer to use when using the built-in printing facilities.
13. Upgraded Plot Pack Run-time Property Editor Channel Stats page speed.
14. Added new OnDataCursorCustomizeHint event to the Plot Pack
components.
15. Added FlatButtons and SmallButtons properties to the Plot Pack components
Toolbar object. Provides smaller and/or flat-button-styled buttons in the built-
in toolbar.
16. Upgraded the Plot Pack Layout Viewer in design-time property editor with new
right-click, context sensitive menu to provide add, delete, hide, and show
functions to Layout Viewer Plot Objects.
17. Plot Pack Data Cursor object upgraded to support pointing to all channels in
addition to pointing to individual channels. When pointing to all channels, the
Data Cursor is hidden, and by default, all channel cursor data is displayed in the
Legend. Optionally you can turn off the display of the data in the legend and
display the data in your own legend by reading the data directly from each
channel.
18. Added the following properties to the Plot Pack Data Cursor object...
ChannelAllowAll - Allows the user to specify that the Data Cursor points to
all channels using the popup menu on the Data Cursor.
ChannelShowAllInLegend - Specifies whether the Legend is used to
display the Data Cursor X and Y values when ALL channels have been
selected by the Data Cursor. The X and Y value columns will automatically
be shown if the Legend object and the Data Cursor objects are visible and
the Data Cursor's Channel reference is set to "All", even if the X and Y
columns have been hidden.
19. Added the following new properties to the Plot Pack Channel object for use
with the Data Cursor "All" Channel mode...
DataCursorXText - Read only property that obtains the text that would be
displayed in the data cursor hint for the X-Value.
DataCursorYText - Read only property that obtains the text that would be
displayed in the data cursor hint for the YValue.
DataCursorXValue - Read only property that obtains the numeric value
that would be displayed in the data cursor hint for the X-Value.
DataCursorYValue - Read only property that obtains the numeric value
that would be displayed in the data cursor hint for the Y-Value.
DataCursorStatus - Read only property that specifies whether the X and Y-
Values are valid, null, or empty.
20. Upgraded Plot Pack Legend to support horizontal and vertical
orientation. Upgraded Legend object to support multiple columns, automated
column wrapping and automated scrolling. New properties include...
WrapColDesiredCount - Specifies the number of legend columns to
reserve for the legend. If you specify a value of 3, then three columns will
be reserved even if they are not filled with channel entries. This is useful
when you will be varying the number of channels, but want to keep the
legend at a certain size and specified number of columns.
WrapColAutoCountEnabled - Specifies whether the legend automatically
adjusts the number of columns to take up the least amount of space within
the control. If increasing the number of columns decreases the "footprint" of
the legend, then the legend will automatically increase the number of
displayed columns. After the maximum has been exceeded, then scroll bars
will appear..
WrapColAutoCountMax - Specifies the maximum number of columns
that should be allotted when WrapColAutoCountEnabled is set to
TRUE. This actual number of columns will be equal or less than this value
depending on space requirements and the number and makeup of legend
entries. This property in effect causes the legend to display the scroll bars if
the maximum number of columns is reached, and the number of channel
legend entries exceeds the available space.
WrapColSpacingMin - Specifies the minimum amount of spacing between
legend entries (not the spacing between the channel name, channel X-Value,
channel Data Marker, etc. columns). When WrapColSpacingAuto is
FALSE, then this value is the fixed spacing between columns. When
WrapColSpacingAuto is TRUE, then the spacing will be adjusted to fully
justify the legend entries within the bounds of the legend, but the spacing
will never be less than the minimum spacing specified.
WrapColSpacingAuto - Specifies whether the spacing between the legend
column entries is automatically adjusted by the legend.
WrapRowDesiredCount - Specifies the number of legend rows to reserve
for the legend. If you specify a value of 10, then three rows will be reserved
even if they are not filled with channel entries. This is useful when you will
be varying the number of channels, but want to keep the legend at a certain
size and specified number of rows.
WrapRowAutoCountEnabled - Specifies whether the legend
automatically adjusts the number of rows to take up the least amount of
space within the control. If increasing the number of rows decreases the
"footprint" of the legend, then the legend will automatically increase the
number of displayed rows up to the maximum specified by
WrapRowAutoCountMax. After the maximum has been exceeded, then
scroll bars will appear..
WrapRowAutoCountMax - Specifies the maximum number of rows that
should be allotted when WrapRowAutoCountEnabled is set to TRUE. This
actual number of columns will be equal or less than this value depending on
space requirements and the number and makeup of legend entries. This
property in effect causes the legend to display the scroll bars if the
maximum number of rows is reached, and the number of channel legend
entries exceeds the available space.
WrapRowSpacingMin - Specifies the minimum amount of spacing
between legend entries. When WrapRowSpacingAuto is FALSE, then this
value is the fixed spacing between columns. When WrapColSpacingAuto is
TRUE, then the spacing will be adjusted to fully justify the legend entries
within the bounds of the legend, but the spacing will never be less than the
minimum spacing specified.
WrapRowSpacingAuto - Specifies whether the spacing between the
legend entry rows is automatically adjusted by the legend.
Important New Legend Properties Note and Discussion - Col is used in the
property names to distinguish between the references to Column in other
properties of the legend. When we refer to the property ColumnSpacing or
ColumnTitlesVisible, we are referring to the internal columns of each legend
entry such as "Marker", "Line", "Title" , "X-Value", "Max", "Min", "Mean",
etc.. The properties using "Col" refer to the multiple-column feature that we
have just added where multiple columns of channels (and their associated
displayed information) can be displayed instead of a single column in the
legend. For example, when a legend is horizontal, you will probably have an
average of 5 columns of channels displayed.
This features has also been added in such a way as to be backwards compatible
with previous versions of our Plot Pack components. Therefore, the new
properties above will default to emulate the behavior of the original
legend. However, to take full advantage of the "automated" nature of the new
legend, we recommend that you set the following properties to the following
values. In a future service pack release of Version 3.x, we will set the defaults
to these values, be can't right now due to backwards compatibility concerns...
WrapColDesiredCount = 1
WrapColAutoCountEnabled = True
WrapColAutoCountMax = 3 (for Vertical Legends) or
WrapColAutoCountMax = 100 (for Horizontal Legends)
WrapColSpacingMin = 2
WrapColSpacingAuto = True
WrapRowDesiredCount = 1
WrapRowAutoCountEnabled = True
WrapRowAutoCountMax = 100 (for Vertical Legends) or
WrapRowAutoCountMax = 5 (for Horizontal Legends)
WrapRowSpacingMin = 0.25
WrapRowSpacingAuto = True
21. Added new OPC event handler to all OPC-enabled components:
OnBeforeNewOPCData. This event passes the index of the OPC item and the
variant data value by reference (pointer reference) so that you can modify or
scale the value before it is passed to the component and before the standard
event handlers are called.
22. Added independent Cursor and Legend data point value formatting to the Plot
Pack axis objects. Each channel is associated with a Y-Axis and X-Axis. Each
axis is responsible for specifying the formatting of displayed data for values
associated for that axis. This goes for channel data displayed in other objects,
such as in the cursor and/or legend objects. By default, all objects display X
and Y values formatted as shown in the respective axis. For example, if the X-
Axis is formatted as date/time "hh:nn:ss", then X-values displayed in the Data
Cursor are displayed formatted the same way. You can now override this
default formatting, and specify that the formatting be different when displayed
in either the Legend or Data Cursor Objects. The following new properties in
the X and Y-Axis objects...
CursorUseDefaultFormat
CursorFormatStyle
CursorDateTimeFormat
CursorPrecisionStyle
CursorPrecision
CursorMinLength
CursorMinLengthAutoAdjust
LegendUseDefaultFormat
LegendFormatStyle
LegendDateTimeFormat
LegendPrecisionStyle
LegendPrecision
LegendMinLength
LegendMinLengthAutoAdjust
The following properties serve as the "Default Formatting" for the Legend and
Cursor Objects when the UseDefaultFormat properties are set to TRUE...
LabelsPrecision
LabelsPrecisionStyle
LabelsFormatStyle
DateTimeFormat
LabelsMinLength
LabelsMinLengthAutoAdjust
23. Updated installer to support Delphi 7 VCL and CLX components.
24. Upgraded Plot Pack to correctly display long labels in the X and Y-axes so that
they are not "cropped" when near the edge of the component. This has resulted
in a change in the layout of the plot component objects, particularly the Legend
and Label objects. Now, the Label object and Legend object
top/bottom/left/right margin properties are strictly interpreted. This will result
in the gap between the Legend and the Data View as well as Labels and the
Data View shrinking to be exactly the margin specified by the
top/bottom/left/right margin properties.
Since the default top/bottom/left/right margins for the Legend are set at a
default of one character, the margin between the Data View and the Legend
will now be exactly one character. Since the default top/bottom/left/right
margins for the Label is set at a default of zero characters, the margin between
the Data View and the label will now be exactly 0 characters (plus font specific
kerning). This means that with most fonts, there will be a kerning gap (extra
space added below the baseline to accommodate characters that are generally
drawn below the baseline such as "j" or "g"), but letters that go below the
kerning baseline will now touch the Data View. To fix this, we recommend
setting the margin nearest the Data View to 0.25 characters (or alternatively
setting all margins for all labels to 0.25 characters). This change should not
affect most users in a negative way, but will slightly change the visual layout of
some objects.
25. iObjectCanvas now supports loading images into a built-in image list that can
also stream into your form. You can also load image lists from resources using
name or ID.
26. Added GetDisplayXToPixelsX and GetDisplayYToPixelsY to
iObjectCanvas. Allows conversion between the component's display units and
pixels on the component.
27. Added new iImageDisplay component. Allows loading of multiple bitmap
frames, and controllable animation framerate.
28. Updated Plot Pack component backgrounds to support gradient colors.
29. Added new iPipe component. Includes 3d straight pipe and animation
capabilities.
30. Added new iPipeJoint component. To be used with the iPipe component.
31. Added new iIntegerOutput component. Similar to iAnalogOutput, but supports
Integer only output. Supports Integer, Hex, Binary, and Octal formatting
styles.
32. Added new iScope Component. True Analog/Digital Oscilloscope component
with built-in Trigger.
33. New VCL/CLX, ActiveX WinHelp, and ActiveX HTML Help for MSDN (Pre
January 2002 Edition) Files including many corrections.
34. Added new iLCDMatrix component. Includes 5x7 built-in character font for
displaying 5x7 dot-matrix display text. Also supports loading external
character sets of custom size. Several additional 5x8 character sets are
included. An external font editor is available for download from our website.
35. Added new iMotor component.
ActiveX and VCL/CLX Version 2.1.2 Service Pack 6
Bug Fixes:
1. Fixed "Interface Not Supported" exception in Visual Basic.NET and C#.NET
that occurred with the Plot Pack.
2. Fixed problem where popup dialogs and runtime property editors would block
other threads from accessing the component while they were
visible. Unnecessary Lock and Unlocks by these dialogs were removed.
3. Redesigned the Instrumentation Theme Panel component in the Instrumentation
Design-Time property editors to fix a bug under Windows 95/98/ME operating
systems when applying changes. Nested panel components within the theme
panel were causing conflicts with the Windows API combo boxes that were
used.
4. Redesigned the Instrumentation Theme Panel auto-centering code for
compatibility under CLX.
5. Fixed bug in iModeComboBox VCL component where the OnChange and
OnChangeUser events would not fire under Delphi 4-5 and C++ Builder 4-5.
6. Fixed bug in Plot Pack Annotations when used with logarithmic axes. The
annotation would size logarithmically instead of linearly when doing manual
sizing with the mouse at runtime.
7. Fixed ActiveX compatibility issues with Microsoft Visual
Studio.NET. Components now successfully stream and function with managed
VB.NET and C#.NET applications. ActiveX components already were
compatible with Visual C++ .NET. See the Instrumentation ActiveX Release
Notes for any issues with porting older Visual Basic 5/6 applications to
VB.NET using our ActiveX components.
8. Fixed absolute positioning bug in Internet Explorer. Component would always
be positioned at the origin (upper left-hand corner) of the web page if absolute
positioning was used with our components.
9. Fixed misspelling for default filename in the Plot Pack Save
JPEG/BITMAP/Metafile dialog.
10. Limited DateTime format dates to years between 1400 to 9000. This resolves
zooming errors that occurred when trying to zoom past these limits.
11. Fixed multiple pointer streaming issue in the ActiveX Gauge Components. If
multiple pointers were setup at Design-Time, they would not be streamed
correctly to the form.
12. Fixed problem with Plot Pack zooming when using Logarithmic scales.
13. Fixed Plot Pack Differential Interpolation drawing algorithm problem. The last
data point should draw to infinity. If the last data point went out of view, the
infinity line would incorrectly disappear.
14. Fixed problem where an additional pointer would be added to our gauge
components every time you loaded the project in Visual Basic.
15. Fixed Theme problem where width and height of preview component would be
switched if the orientation of the component was opposite of the default setting.
16. Fixed GetBytesJPEG memory leak and speed issues.
17. Fixed recursive painting bug when using stacked axes in the Plot Pack. This
only became obvious with large, viewable data sets.
18. Fixed OPCItem browser limitation of 256 computers when browsing a
Windows computer domain. The limit has been upgraded to support
approximately 1000 computers per domain when browsing.
19. Fixed bug during development under Windows 95a/b where the component
would appear to be unlicensed. This did not affect deployed applications under
Windows 95a/b, only development.
20. Fixed runtime property editor bug with plot pack when running under large
fonts. Form would not automatically scale properly to large fonts.
21. Fixed memory leak in iKeyboard drawing algorithm.
22. Corrected ActiveX sizing problem in RSView.
23. Fixed iObjectCanvas OnClickObject event. The event handler was not firing
correctly.
New Features:
1. Added to iPlotChannelCustom, DrawStartIndex and DrawStopIndex that
inform you of the data point indexes that are currently visible in the Data View.
2. Added OnBeforeLoadProperties and OnAfterLoadProperties events added to
Plot Pack Components.
3. Added Width, Height, Left, and Top properties for ActiveX containers that do
not provide these properties by default. These properties are specified in
pixels. If the container overrides these properties then the container will be
responsible for these properties. For example, Visual Basic overrides these
properties and replaces them with its own container properties. Its container
properties are specified in Twips by default and not in Pixels.
4. Added UserCanAddRemoveChannels property. This property controls whether
the Add/Remove buttons are shown in the Runtime Property Editor.
5. Added SaveAnnotationsToFile and LoadAnnotationsFromFile methods to the
Plot Pack Components. This method should be called after loading properties
from a file since the loading of properties clears out the entire control.
6. Added ZoomToFit context sensitive menu item and method to the X and Y-
Axis Objects
7. Added OnBeforeZoomBox event to Plot Pack Components.
VCL and CLX Components: Passes two parameters by pointer that you can
modify, ZoomRect and Cancel. ZoomRect has the pixel coordinates of the
zoom box that can be easily converted to Axes values. Cancel allows you to
cancel the Zoom Box if you wish.
ActiveX Components: Passes five parameters by pointer that you can modify,
Left, Right, Top, Bottom, and Cancel. The four coordinate parameters have the
pixel coordinates of the zoom box that can be easily converted to Axes
values. Cancel allows you to cancel the Zoom Box if you wish.
8. Added four new methods to Plot Pack Annotation Object: PositionXToPixels,
PositionYToPixels, PixelsXToPosition, PixelsYToPosition for converting pixel
coordinates to position values.
9. Added one new method to Plot Pack Annotation Object: UserCanSize which
allows the application end-user to resize the rectangle annotation objects.
10. Added two new styles to the Plot Pack Channel Data Marker Styles:
VerticalLine and HorizontalLine.
11. Updated Plot Pack Axes Tracking Style characteristics for
SmoothScroll. Before, this style would only scroll when the new value was
greater than the max of the axis. The new characteristic is to scroll when the
new value is greater than the max or less than the min.
12. Added new event handler to the Plot Pack: OnAnnotationCoordinatesChange
and OnAnnotationCoordinatesChangeFinished events which allows you to
handle changes of the X, Y, X2, Y2, Width, Height, or any other future
position/size property of Annotation. This event is generally used in
conjunction with the UserCanMove and UserCanSize properties which allows
your application end-users to move and size Annotation Objects. The event
will fire from user generated events as well as changes to the position/size of
annotations by your code.
13. Added Bar support to the iPlot component channel object.
14. Added LabelsVisible property to the Axis Objects (X and Y-Axes) of the Plot
Components. This property allows you to hade the axes labels, showing only
the axes tick marks
15. Added the following Grid Line properties to the DataView object of the Plot
Pack:
GridLineXMajorCustom
GridLineXMajorColor
GridLineXMajorWidth
GridLineXMajorStyle
GridLineXMinorCustom
GridLineXMinorColor
GridLineXMinorWidth
GridLineXMinorStyle
GridLineYMajorCustom
GridLineYMajorColor
GridLineYMajorWidth
GridLineYMajorStyle
GridLineYMinorCustom
GridLineYMinorColor
GridLineYMinorWidth
GridLineYMinorStyle
16. Added FocusHandle property to keyboard control. Allows setting the window
handle of the component that will receive keystrokes.
17. All ActiveX components upgraded to include Width, Height, Enabled, and
Visible properties. Non-visible components (such as the timer components) do
not contain these properties. These properties are provided for ActiveX
containers that do not already supply their own version of these properties.
18. Added Image Annotation style. Includes built-in image list for use with
Annotations and other future uses.
19. Added three built-in custom image lists that you can use with Image
Annotations. Images must be loaded at design-time.
20. Upgraded Plot Pack Data Cursor to convert Carriage Return and Line Feed
characters to a single space in the Data Cursor Tool Tip to avoid strange
characters.
21. Added new OPC methods to Instrumentation and Professional Pack
Components.
OPCItemUpdateSuspend which allow deactivation of updates from the server.
OPCItemUpdateResume which allow re-activation of updates from the server
after suspension by using OPCItemUpdateSuspend.
GetOPCItemData
GetOPCItemTimeStamp
GetOPCItemQuality
SetOPCItemData
22. Added new OPC event: OnOPCData which will notify you every time an
update is received from the OPC Server. The standard component events (such
as OnPositionChange in the iKnob control) are only fired when an update that
changes the current component property.
23. Added to MarkersTurnOffLimit iPlotChannelCustom object. This allows you
to suppress the drawing of DataMarkers according to the limit set here. If the
number of DataMarkers to display is greater than this value, all DataMarkers
for the channel will not be drawn. This speeds up drawing operations when
displaying large numbers of data points on the screen.
24. Added CopyToClipBoardFormat property to Plot Pack. Possible selections are
Bitmap, Metafile, and JPEG.
25. Added the following event handlers to the Plot Pack. Each event passes four
parameters: Index of the Object, Cancel Flag By Reference, ScreenX in Pixels,
and ScreenY in Pixels.
OnPopupMenuChannel
OnPopupMenuXAxis
OnPopupMenuYAxis
OnPopupMenuToolBar
OnPopupMenuLegend
OnPopupMenuLimit
OnPopupMenuAnnotation
26. Added Cartesian Coordinate Axes support to the Plot Pack components. Added
three new properties to the Axis objects...
CartesianStyle
CartesianChildRefAxesName
CartesianChildRefValue
27. Updated Plot Pack Digital Channel to support FastDraw.
28. Added new property to Axis object: GridLinesVisible.
29. Upgraded CubicSpline and Interpolation Trace styles to support empty and null
data points. Empty data points will be skipped. Null Data points will generate
a break in the trace line.
30. Added the following new properties and methods to the iPlotChannelCustom
(channel object for all Plot Components)...
DataPointSize - the number of bytes used by each data point added to the chart.
MaxDataPoints - the maximum theoretical number of data points that you can
fit into the chart. For 32-bit Windows, this represents the maximum theoretical
number of data points that will fit into the 2GBprocess memory limitation (
minus the applications' memory footprint) imposed by Windows.
Capacity - the number of data points that have been
MemoryUsed - the currently allocated memory used by the data buffer. This
value is in bytes.
DataStyle - specifies the features available to the data points. The Compact
Style uses 8 bytes per data point, and stores X and Y data point data with
Single Precision. This style loses features regarding individual data marker
styles in exchange for a smaller memory footprint. The Standard Style uses 24
bytes per data point, and stores X and Y data point data with Double
Precision. The Standard Style allows for use of the individual data point data
marker styles. The Full Feature Style has extended features that is open for
future expansion
31. iAnalogOutput, iAnalogDisplay, and iEdit have the following properties
added...
ErrorActive - When True, then the following three properties control the
display of the error drawn on the control.
ErrorFont
ErrorText
ErrorBackgroundColor
32. Added GetOPCItemActive to the ActiveX components.
33. Added AutoError to the OPC item. For VCL components, access the OPC item
object to access AutoError. For ActiveX, use the GetOPCItemAutoError and
SetOPCItemAutoError methods. If AutoError is True, then if the quality of the
OPC data received from the OPC Server is not good, then the ErrorActive
property of the component will be set to True. If the OPC Server data is good,
then the ErrorActive property of the component will be set to False. When the
OPC item is connected to the server, and AutoError is set to True, the
ErrorActive property is automatically set to True indicating that the component
is in an invalid state.
34. Optimized LoadDataFromFile method in the Plot Pack to be 500% faster than
previous versions.
35. Optimized Code for speed on Data, Axis, and FastDraw features of the Plot
Pack.
36. Added Compact Interval data type to Plot Pack. This style allows for the
storage of single-precision fixed x-interval data points resulting in the ability to
store approximately 538 million data points total in the chart (this represents
the 2GB limit of applications running under Windows. This value depends on
memory usage in other parts of your application, and the physical and virtual
memory of your computer).
37. Upgraded iEdit and iAnalogOutput to inherit from our own custom
iEditCustom control. Since these controls no longer inherit from the Windows
API or QT API Edit-box control, they no longer have the bugs and
inconsistencies that come along with the API controls.
38. Upgraded iModeComboBox control to inherit from our own custom combo
box control. Since this control no longer inherits from the Windows API or QT
API combo-box control, it no longer has the bugs and inconsistencies that come
along with the API control.
39. Added new TextRectangle Annotation style to the Plot Pack
components. Allows the display of a text string inside of a sizeable rectangle.
40. Added AddXYArray method to Plot Pack Channel object. Allows the addition
of 2-dimensional Variant Arrays to Channel that contain X and Y coordinate
data.
41. Limits upgraded to support streaming.
42. Annotations now clip to axes. Beneficial when you have stacked axes and you
don't want annotations dragging or bleeding into other axis regions.
43. Added PrintDocumentName property to Plot Pack components to specify the
name of the document that is displayed on compatible printers when the chart is
being printed.
ActiveX and VCL/CLX Version 2.1.0 Service Pack 5
Bug Fixes:
1. Fixed Plot Pack problem where a call to ClearAllElements method of the Limit
objects would not result in the component being repainted.
2. Fixed OPC problem where the initial callback would sometimes be ignored
during connection to an OPC server and would only affect static data on the
OPC server.
3. Fixed problem where the Legend Y-Value would incorrectly display the X-
Value column data.
4. Fixed ActiveX bug where license errors would occur if you were not logged in
as Administrator on a Windows NT4/2000/XP workstation at Design-
Time. Does not affect Run-Time.
5. Fixed iKeyboard problem where SecondRowMargin property was ignored
during the automatic height calculations of individual keys.
6. Fixed Plot Pack Interface memory leak. When Plot Pack sub object interfaces
were released, the connection point object was not released resulting in a
memory leak.
7. Fixed rounding error in iOdometer. Values would sometimes be incorrectly
rounded due to differences in floating point calculation results from different
processor manufacturer and models.
8. Fixed AddLimit property of gauge components. Pointer Size and Pointer
Margin properties were reversed. No interface change, only correction of
incorrect property assignment.
9. Fixed Limit events that were not functional in gauge components
10. Fixed OnPositionChange event that was not functional in gauge components.
11. Fixed Data Cursor "Divide By Zero" error in Plot Pack which would occur with
tightly packed data points (multiple data points that would fit into a single
pixel).
12. Fixed ActiveX ZOrder problem in Excel where the ZOrder would not be
preserved from last save.
13. Fixed transparency problems with iKnob, iSwitchLever, iCompass,
iSlidingScale, and iSlidingCompass components that utilize gradients.
14. Fixed resizing issues in RSView and Microsoft Word. Components would
change size when switching between design-time and run-time.
15. Fixed AddLimit method in gauge components. Pointer Size and Pointer
Margin parameters were flipped.
16. Fixed limit events in Gauge components; events were not firing.
17. Fixed OnPositionChange event in Gauges, event was not firing.
18. Fixed the over/under-range triangles in the Seven Segment
components. Would not display over/under-range triangles unless value was 1
above or below the max and min displayable range.
19. Fixed ActiveX painting corruption in iThermometer, iLinearGauge,
iLogGauge, iSlidingScale, and iSlidingCompass when switching between
horizontal and vertical orientations.
20. Fixed decay feature in iSpectrumDisplay component. Decay had not been
functioning since Service Pack 2.
21. Fixed iOdometer visual rotation "blip" problem when TenthsDigitCount = 0.
22. Fixed SavePropertiesToFile method in Plot Pack. Would previously only save
one cursor even if you had multiple cursors in the chart.
23. Fixed OnPositionChange property. Would not fire if changed by an OPC
Server.
24. Fixed HP VEE/Agilent VEE compatibility problem. Plot Pack Mouse events
were blocked by VEE during high CPU load. Symptom: Axis would continue
to move once mouse was released if there was a large CPU load.
New Features:
1. Added iEdit component with OPC string support.
2. Improved OPC browser panel. Browsing for computers is now hierarchical
according to domain. Included look-ahead feature on OPC items to see if sub
items exist below each item in the visible list.
3. Plot Pack now supports OPC connections to channels objects.
4. Keyboard upgraded to support Numeric Keypad style.
5. Add SelectActive property to Plot Pack Toolbar interface. This property allows
you to tell if the select tool is active.
6. Added OPC support to the iPanel, iPieChart, iPercentBar, iLedMatrix, and
iSpectrumDisplay components.
7. Updated Switch Rocker 3-way to write Value property to OPC Server.
8. Updated iKeypad to ensure keys are not transparent when using the transparent
background feature.
9. Added CachedDrawing feature to Property Editor of iLedMatrix
10. Upgraded iSlider and iKnob to only write to an OPC server after a change has
finished (i.e. after the mouse button has been released).
11. Updated 7-Segment Analog to Round values instead of Trunc. This will
synchronize the behavior with our other double-value display
components. Clock components will continue to Trunc double values.
12. Added two new Annotation Reference styles: iprtXChannelYDataView
allowing the annotation's X coordinate to move with the channel and the Y
coordinate to be fixed to the DataView and iprtXDataViewYChannel, allowing
for the annotation's X coordinate to be fixed to the DataView and the Y
coordinate to move with the channel.
ActiveX and VCL/CLX Version 2.0.8 Service Pack 4
Bug Fixes:
1. Fixed Internet Explorer error where the visible, width, and height properties
would no longer function in VBScript.
2. Fixed iSwitchLed and iThermometer property editor bugs under ActiveX
which were preventing the property editors from allowing the user to hit the
OK button or to navigate to development environment specific property editor
tabs.
3. Fixed bug in Plot Pack Data Cursors where clicking on one cursor would cause
all other data cursors to be assigned to the same channel.
4. Fixed problem when using MoveWindow in Visual Basic to move component
causes components to redraw incorrectly. Usually happened when component
was moved off the form and then back onto the form. Components would
appear to disappear in some situations.
5. Several issues regarding resizing, moving, disappearing components, and IE
display issues have been fixed in our ActiveX components.
6. Increased compatibility of moving and resizing ActiveX components in
ActiveX containers.
7. Fixed Themes lockup bug in Visual Basic running under Windows 95/98/ME.
8. Fixed OPC where some servers would callback to the component after the
event handlers for the OPC connection were disconnected.
9. Fixed problem where legend would not display existing channels if removed
and then re-added.
10. Fixed legend up/down button scrolling issue.
11. Fixed problem where translations would not persist (stream out).
12. Fixed problem in iAngularGauge where If SectionEnd is less than PositionMin
then the entire section would be filled with that section's color.
13. Fixed OPC Boolean property support. Now supports strings "TRUE" and
"FALSE" (case insensitive) that come from OPC Servers.
New Features:
1. Added Axis Linking Support in Plot Pack.
2. Added FocusControl support to the iLabel component for VCL applications.
3. Added GetBytesJPEG method for use in obtaining a JPEG image for use in
Microsoft IIS server ASP web pages to all component except for iTimers,
iThreadTimers, iAnalogOuput, and iModeComboBox.
4. Added multiple Label support to Plot Pack. Title properties depreciated in favor
of multiple Label support, but are provided for backwards compatibility.
5. Added multiple pointer support to iAngularGauge, iLinearGauge,
iAngularLogGauge, and iLogGauge. Original position and other pointer
specific properties provided for single-pointer applications and backwards
compatibility.
6. Added LoadPropertiesFromFile and SavePropertiesToFile methods to all
components except for TiTimers and TiThreadTimers. Allows streaming of
component properties to a text file for later retrieval.
7. Added "High" and "Low" to Plot Pack Data Cursor to signify Digital High and
Digital Low values in Digital Channels.
8. Added LinkedCell to various components for use with this feature in Microsoft
Excel.
9. Added OnClickIndicator event to iLedMatrix. The row and column are passed
in the event handler to indicate which indicator was clicked.
10. Added new iTank, iValve, iModeComboBox, and iSwitchPanel components.
11. Added CLX component versions of all of our components for use with Delphi
6 for Windows and Kylix 1-2 for Linux.
12. Improved OPC property editor dialog to remember the previous Computer
Name, OPC Server Name, and Update Rate for quicker setup of multiple items.
13. Added Mouse Wheel support to the Knob, Slider, Switch Slider, and Switch
Rotary components. Uses the KeyPageStepSize property to respond to Mouse
Wheel scrolls.
14. Added OnMouseDownDisplay, OnMouseMoveDisplay, and
OnMouseUpDisplay events to the Object Canvas to provide similar events to
OnMouseDown, OnMouseMove, and OnMouseUp but providing the Cartesian
coordinates of the Mouse instead of Pixel coordinates.
15. Added GetPixelsXToDisplayX and GetPixelsYToDisplayY methods to provide
a mechanism to convert between the 0,0 upper-left-hand corner pixel
coordinates provided by the Windows API or QT API and the Object Canvas'
0,0 Cartesian Coordinates.
16. Added FontColor property to ActiveX interface for the iModeComboBox
component.
17. Added CachedDrawing property to components that use background caching
for improved performance. This property should be left on unless the ActiveX
container doesn't properly support background caching (such as Microsoft
Internet Explorer).
18. Added Mouse Wheel support to iKnob, iSlider, iSwitchSlider, and
iSwitchRotary.
19. Added MouseWheelStepSize property to iKnob and iSlider.
20. Added RunningMin, RunningMax, and RunningMean properties. These
property values are only valid for continuous values. These values are invalid if
you add Null or Empty data points to the channel. If you modify previous data
points, these values will also become invalid, but you can force them to
revalidate by calling the Get method variations of these properties: GetYMax,
GetYMean, and GetYMin methods.
21. Added ChannelNameMaxWidth property to specify the maximum width of the
Channel Name column to allow word wrapping of long channel names.
22. Added New Legend Columns. Use the ShowColumnYMax,
ShowColumnYMin, ShowColumnYMean. These values display the running
Max, Min, and Mean of the channel.
23. Added PositionToPercent and PercentToPosition methods to Plot Pack Axis
objects.
24. Added OnClickDataPoint and OnClickAnnotation events to Plot Pack
components.
25. Added Cubic Spline, Polynomial (n-1), Rational, Differential, and Straight Line
(older default) Interpolation curve fitting options to Plot Pack Channel Object.
26. Added UserCanMove property to Plot Pack Annotation objects, allowing end-
user to visually move annotations on the component.
27. Added ShowSelectButton toolbar button to turn on and off the select cursor
which allows users to click on data points and annotation objects.
28. Added DigitBorderShow, DigitBorderColor, TenthsDigitCount, and
ShowDecimalPoint properties to the iOdometer control.
29. Upgraded ActiveX help file to Microsoft HTML-style help system.
30. Added AutoSelect property to the iAnalogOutput control.
ActiveX and VCL Version 2.0.6 Service Pack 3b
Bug Fixes:
1. Fixed Streaming issue with Font properties on sub objects (e.g. Font property
of Channel, axes, legend, etc.) when using Load Method of the plot component.
Problem existed reading in font sub properties.
2. Fixed LineX and LineY annotation styles would not correctly draw if
ReferenceStyle was set to DataView.
3. If the MinMaxUserCanMove property set to true, the Max pointer would not be
moveable if the Min pointer was not visible in angular gauge.
4. Fixed bug in iSwitchLed resulting in CaptionMargin property having no effect
when CaptionAlignment was set to OppositeSide.
5. Fixed Plot Pack components where zoom box would match the axes title font
color.
6. Fixed LineX annotation bug in Plot Pack where Y and Y2 values would be
swapped.
7. Fixed iSevenSegmentClock issue where control would not properly fire the
countdown event if the clock ran past midnight and would instead start
counting up after reaching 0 and would not fire the event.
8. Fixed iLEDRectangle where text caption would overlap the 3D border margins.
9. Fixed Internet Explorer bug where scrolling our ActiveX controls out of view
would cause unexpected resizing in all web pages or painting problems when
scrolled past another frame.
New Features:
1. ScaleMax and ScaleMin added to Spectrum Display.
2. Knob upgraded to allow turning off keyboard support.
3. Added DataEmpty property, AddXEmpty method to iPlot, AddEmpty method
to iXYPlot, and FastDrawEnabled property.
4. Added cursor keyboard support to Plot Pack components.
5. Added FastDrawEnabled property to Plot Pack components. Speeds up drawing
to screen with large data sets.
6. Added Glyph support to iSwitchLED and border support.
7. Integrated OPC client features into components. Please note that a nominal
distribution fee applies if you utilize the OPC features of our components. OPC
Features are not supported under CLX Applications for Delphi 6 and Kylix 1
for Linux. OPC or OLE for Process Control is a communications standard for
communicating with factory floor automation hardware via the network.
ActiveX and VCL Version 2.0.4 Service Pack 2
Bug Fixes:
1. Plot Pack: The index in the data array is offset by one if the log is started before
no data has been added to the chart.
2. Instrumentation: SwitchRocker3Way descendent for BackGroundColor
property should have a capital "G".
3. Instrumentation: Seven Segment Clock control displays incorrect hour values.
4. If component loses focus before receiving a mouse-up event, then the
component remains "stuck" believing that the mouse button is in a down state.
5. Instrumentation: Odometer displays incorrect values.
6. Plot: Cannot select channel at top of legend if scroll arrow up is enabled.
7. Plot: When adding or removing plot objects, the component would not request
a repaint.
8. Instrumentation: Strip Chart would freeze in Internet Explorer if two strip
charts (each in one window) were running in two IE windows running in the
same process.
9. Instrumentation: Upgrade ActiveX property editors to support a single ActiveX
property editor tab to fix Theme Panel bug in Visual Basic.
New Features:
1. Instrumentation: Add Auto Size capability to Angular Gauge
2. Instrumentation: Add keyboard component with US support.
3. Instrumentation: Upgrade Spectrum Display to allow setting a bar color per bar
4. Instrumentation: Add comma support for international values in Seven
Segment Character and Seven Segment Analog if decimal separator is defined
as comma (",")
5. Instrumentation: Add text alignment feature to Panel control
6. Instrumentation: Upgrade LED Spiral to support pointer style
7. Instrumentation: Add OnCustomizeTickLabel event to compass and dual
compass
8. Instrumentation: Add text alignment feature to Panel control
9. Plot: Add peak to peak, time, and frequency dual cursor for measuring between
points in a particular channel.
10. Plot: Upgrade cursor to show null data points as well as empty data points
11. Plot: Upgrade AutoLabels to support other 1-2-5-type rules on DateTime
format
12. Plot: Expand 1-2-5 rules.
13. Plot: Add tag property to plot components for storing user data
14. Plot: Add "Desired Increment" to scales to allow for greater control over
AutoScale and 1-2-5 rule
15. Plot: Update AutoLabel to support Date/Time (Julian Dates Only) and
Price32nds (Bond Market Scale). These scales should scale property to be
"Human Readable".
16. Plot: Update Time Calculator to support Price32nds
17. Plot: Extend Log10 scales to support AutoScale
18. Plot: Upgrade to support multiple cursors, delta cursors, and inverse delta
cursors.
19. Plot: Upgrade to support unlimited limit lines.
20. Plot: Upgrade to support zoom factor scaling for zoom toolbar buttons
21. Plot: Allow control over popup menus and add enabled property to disable
individual plot object UI
22. Plot: Make annotations visible in Plot Components when X/Y Axes are
reversed.
23. Plot: Add tag property to plot components for storing user data
24. Plot: Allow individual control of markers per data point in addition to per
channel.
25. Plot: Update save dialogs to support JPG, BMP, and EMF file formats
26. Plot: Update AutoLabel to support Date/Time (Julian Dates Only) and
Price32nds (Bond Market Scale).
27. Plot: Update Time Calculator to support Price32nds.
28. Plot: Add Data Array support to channel interface to allow addition of data
using a one dimensional array.
29. Plot: Allow four different angles of rotation for text annotations
30. Plot: Add two new line annotation styles: LineX and LineY for drawing lines
perpendicular to the X and Y Axis
31. ALL: Update all USE statements in VCL source code to support
Linux/Windows
32. ALL: Add BMP, EMF, and JPG export capabilities for ASP web page and
other export uses.
33. Plot: Load Data file now supports loading either data saved with SaveData
method or logging feature
ActiveX and VCL Version 2.0.2 Service Pack 1
1. Updated Help Files
2. Updated Plot Pack Manual PDF (available
at http://www.Instrumentation.com/documentation)
Plot Pack Updates
1. Fixed memory leak when using Plot Pack component sub objects (ActiveX
only).
2. Fixed error in code where each plot component would create the runtime
property editor when the component is created, and not destroy the runtime
property editor after it was show in the component. The result would be that
each plot component would consume large amounts of system resources. Under
Windows 95/98 systems you could only use 2 plot components, and Windows
NT/2000 systems you could only use 3-4 plot components depending on
system resource use.
3. Fixed problem in runtime property editor. Layout editor would not function
properly if other properties in the runtime property editor were changed.
4. Fixed Visual C++ bug where having more than one plot component on form
causes Visual C++ to give errors when running application. Random access
violations occur when you have opened the property editors.
5. Fixed Datax, DataY, and DataNull properties. They previously had no effect.
6. Added Save to Tab Delimited File support to Plot Components.
7. Added automated logging per component and per channel.
8. Added Mouse Events to Plot Component main interface.
9. Added External Toolbar Support.
10. Added BeginUpdate, EndUpdate, Print, CopytoClipboard, Save,
GetSnapShotPicutre, RepaintAll, Lock, and Unlock methods added to Plot
Pack.
11. Added Date/Time calculator for property editor min and span properties.
12. Added AddDataArray method for adding synchronous data from a one or two
dimensional array.
13. Added Digital Channel support.
14. Added HideAllMenuItems property.
15. Added Expand/Collapse to Scale Format Style.
16. Added SetLimitLinesOnTop method.
17. Added SetGridLinesOnTop method.
18. Added support for PixelsToPosition method to support invisible axes.
19. The following Data and Property streaming methods were added to support
saving and loading of channel data and both channel and component properties.
Added to both channel and main plot component interfaces.
SaveDataToFile
SavePropertiesToFile
LoadDataFromFile
LoadPropertiesFromFile
Instrumentation and Professional Component Updates
1. iSwitchLed upgraded for word-wrap (New Property WordWrap)
2. Spectrum display upgraded to support setting individual colors for each bar.
3. Angular Gauges now support degree range between 0 and 360 (previously 0 to
355).
4. Phone Pad upgraded to support individually changing captions for each button
to a custom value.
5. Added show property for each button in the Phone Pad component.
6. Spectrum Display streaming problem in Visual Basic fixed. NOTE! The
BarValue property has been removed from the ActiveX interface. If you were
using this property before, use the SetBarValue method instead.
7. Analog Output now responds to arrow keys instead of treating them as tab
keys.
8. The following Control and Warning Limit properties were added to
iStripChart...
GetChannelControlLimitUpperLineWidth
SetChannelControlLimitUpperLineWidth
GetChannelControlLimitLowerLineWidth
SetChannelControlLimitLowerLineWidth
GetChannelWarningLimitUpperLineWidth
SetChannelWarningLimitUpperLineWidth
GetChannelWarningLimitLowerLineWidth
SetChannelWarningLimitLowerLineWidth
9. Wordwrap property added to iSwitchLed
10. Added SaveToBitmap method to iStripChart
11. Added Focus method to iStripChart
12. Fixed streaming problem with Switch Slider, Rotary Switch, LEDSpiral and the
VB built-in.
ActiveX and VCL Version 2.0.0 Hot Fix #2
1. Fixed ActiveX interface problem with the Plot Pack Channel Object. Affected
Internet Explorer and HP/Agilent VEE Users Only.
2. Fixed Anti-Alias code for sliding scale components which would not work
correctly wish very small component sizes.
3. Fixed Visual Basic lockup problem with nested Plot Pack property editors.
4. Fixed memory leak in Dual Compass component.
ActiveX and VCL Version 2.0.0 Hot Fix #1
1. Fixed missing FontColor property on the Plot Pack Annotation object.
2. Fixed problem where changing Pen width of Plot Pack Annotation object
would change pen width of x-axis elements.
3. Fixed problem where changing Title Font through object inspector would cause
an access violation in Delphi or C++ Builder when using VCL components.
4. Fixed problem with VCL Property Editor Textbox Error where some lower
case keys were being interpreted as control characters
5. Fixed trace line algorithm problem causing artifacts to be drawn in Plot Pack
Data View Area.
6. Updated Plot Pack clipping code which resulted in incorrect clipping of some
data points.
7. Updated Plot Pack Fill routine upgraded to handle reverse XY axes
8. Added New property to disable users from accessing the Plot Pack Run-Time
Property Editors through right mouse clicks. PropertyName:
UserCanEditObjects
9. Fixed Intermittent assertion error on component creation in Microsoft Visual
C++, due to the Control Window ID being changed. The problem is more
apparent as more Instrumentation ActiveX controls are used.
10. Fixed error in Seven Segment Analog component where incorrect values would
be displayed.
11. Fixed error where changing Y-Axis Label separation would change X-Axis
Label separation property in VCL Plot Component Property Editor.
12. Fixed error if X-Axis in Plot Component was shown above DataView area, the
chart title would be misaligned.
13. Fixed situation here clicking on Font button in Plot Pack property editor under
labels would freeze Visual Basic.
ActiveX and VCL Version 2.0.0
1. Fixed problem in StripChart SetBufferSize that may not report an error if the
buffer size can not be allocated.
2. Fixed KeyUp problem in ActiveX for the SwitchRotary and SwitchSlider.
Would still indicate that the Arrow key was down even though it had been
released.
3. Fix problem with iObjectCanvas that would cause Ellipse and Rectangle to
disappear if zooming out to far.
4. Fixed multiple OCX loading bug in Visual C++ under Windows 95/98
(Reflector Window Problem).
5. Fixed bug in the iAnalogOutput that caused the Tab key to not move focus to
the next control under Visual C++ applications
6. OnChangeUser Event Handler Added to iAnalogOutput.
7. OnPositionChangeUser Event Handler Added to iKnob.
8. TickLabelAlignment property Added to iAngularGauge.
9. OnPositionChangeUser Event Handler Added to iSlider.
10. OnChangeUser Event Handler Added to iSwitchLed.
11. OnChangeUser Event Handler Added to iSwitchToggle.
12. OnPositionChangeUser Event Handler Added to iSwitchRotary.
13. OnPositionChangeUser Event Handler Added to iSwitchSlider.
14. OnValueXChangeUser Event Handler Added to iSwitchQuad.
15. OnValueYChangeUser Event Handler Added to iSwitchQuad.
16. OnChangeUser Event Handler Added to iSwitchLever.
17. OnChangeUser Event Handler Added to iSwitchRocker.
18. OnValueChangeUser Event Handler Added to iSwitchRocker3Way.
19. Theme capability added to all Professional and Instrument Pack components.
20. Fixed Theme Panel crash with Visual Basic 5/6 under Windows 95/98
21. iSevenSegmentClock now supports hour values up to 99 hours. Maximum
displayed value is 23 hours. Day and year support will be added in a future
release.
New Components Added
Instrument Pack:
o iLabel Component
Professional Pack:
o iSpectrumDisplay Component
o iPhonePad Component
o iDualCompass Component
o iSlidingScale Component
o iSlidingCompass Component
o iThreadTimers Component
ActiveX and VCL Version 1.1.6 (Service Pack 7)
1. Fixed iAngularGauge and iAngularLogGauge SectionColor fill bug.
2. Fixed Multiple Instrumentation OCX DAX error problem in VB.
3. Fixed StripChart Grid Scrolling Drawing bug (1 line missing).
4. Added AutoCenter property to iAngularGauge.
5. Added CenterLabelWordWrap property to iLedRectangle.
6. Added CenterLabelEndsMargin property to iLedRectangle.
7. Added CenterLabelAlignment property to iLedRectangle.
8. Added AutoSize to iLedSpiral.
9. Added OuterMargin to iLedSpiral.
10. Added RangeDegrees to iLedSpiral.
11. Added StartDegrees to iLedSpiral.
12. Added MouseControlStyle to iSwitchRotary.
13. Added YAxisLabelWidthFixed Property to iStripChart.
14. Added YAxisLabelWidth Property to iStripChart.
15. Added YAxisReverseScale Property to iStripChart.
16. Added SetBufferSize Method to iStripChart.
17. Added AddData Method to iStripChart.
18. Added AutoSize to iKnob.
19. Added OuterMargin to iKnob.
20. Added FrameUpdateRate to all components except iAnalogOutput and iTimers.
21. Linked Cells now supported under Excel.
22. Added Database Support to all components except (Pie Chart, Percent Bar,
Timers, Strip Chart, Object Canvas, Panel, LED Matrix, Switch Quad, Switch
Rocker 3-Way, Rotation Display, and Gradient).
23. Fixed design-time drawing bug in Excel and Simplicity.
24. Fixed recursion problem in Simplicity when double-clicking on component.
25. Fixed component destruction bug in PowerBuilder.
26. Fixed GetChannelMax and GetChannelMin bug which caused the last data
point to be ignored.
27. Updated Help Files.
ActiveX and VCL Version 1.1.4 (Service Pack 6)
1. Fixed MinMaxPointerMargin property change error which resulted in the Scale
not being redraw in its new position.
2. Fixed iSwitchSlider and iSwitchRotary Position streaming error that would
have limited it to a maximum value of 2.
3. Fixed iSevenSegmentClock bug where the OnCountDownComplete event
would unrepentantly fire and the timer would be disabled if the counter was
enabled at runtime with the time set to 0 and the direction set to Up.
4. Fixed drawing error in knob control that would occur with some NT video
drivers.
5. Fixed iAnalogOutput SetFocus and KillFocus problems in ActiveX.
6. Upgraded iOdometer control to rotate all digits. WARNING: you may need to
expand the width of the control to accommodate the new painting routines.
7. Added BackGroundColor property to the SwitchQuad control.
8. Added Transparent property to the following controls...
iLinearGauge
iAngularGauge
iLogGauge
iAngularLogGauge
iKnob
iSlider
iThermometer
iLedBar
iLedSpiral
iSwitchQuad
iSwitchLever
iSwitchRocker
iSwitchRocker3Way
iSwitchRotary
iSwitchSlider
iSevenSegmentCharacter
iSevenSegmentAnalog
iSevenSegmentBinary
iSevenSegmentHexadecimal
iSevenSegmentInteger
iSevenSegmentClock
iSevenSegmentClockSMPTE
iLedRound
iLedArrow
iLedDiamond
iLedMatrix
iOdometer
iPieChart
iPercentBar
iObjectCanvas
iCompass
iRotationDisplay
9. Added the following events to the iStripChart control...
OnKeyPress
OnKeyDown
OnKeyUp
10. Added BeginUpdate and EndUpdate methods to all controls except
iAnalogOutput and iTimers.
11. Added PrecisionStyle property to all Scale components.
12. Added AutoScale to all Scale components implemented via the four following
properties...
AutoScaleEnabled
AutoScaleDesiredTicks
AutoScaleMaxTicks
AutoScaleStyle
13. Added the following properties to the iStripChart control...
ChannelVisibleInLegend
InterpolateMissingDataPoints
YAxisShow
14. Added OnCustomizeTickLabel to all Scale based components.
15. Added limits to all scale based components and implement the following
interfaces...
Added LimitUpperValue Property
Added LimitLowerValue Property
Added LimitPointerSize Property
Added LimitPointerMargin Property
Added LimitUpperPointerColor Property
Added LimitLowerPointerColor Property
Added LimitShowUpperPointer Property
Added LimitShowLowerPointer Property
Added LimitDrawScaleSide Property
Added LimitCount Property
Added AddLimit Method
Added RemoveLimit Method
Added RemoveAllLimits Method
Added OnPositionOverLimit Event
Added OnPositionUnderLimit Event
16. Added MouseControlStyle to iSlider control.
17. Added Lock and Unlock methods to all controls (Except iTimers) to simplify
Multiple Thread Management.
18. Added AutoCenter property to iThermometer.
19. Updated help files and fixed minor bugs and other issues in the ActiveX and
VCL help files.
ActiveX and VCL Version 1.1.2 (Service Pack 5)
1. iLedRectangle - Fixed Property Editor, CenterLabelFontInactiveColor
incorrectly sets the CenterLabelFontActiveColor.
2. Fixed iSevenSegmentClockSMPTE VCL property editor not enabling OK or
Cancel button when Hour/Min/Sec property is updated.
3. Fixed ActiveX printing problems.
4. iSlider and iKnob modified to now change the indicator state in response to
keyboard control.
5. iAnalogOutput Additions
Added BeepOnError property.
Added UndoOnError property.
Added FilterStyle property.
Added OnBeforeChange event.
6. Added ShowReflection property to iLedRound.
7. Added ShowReflection property to iLedRectangle.
8. Added IndicatorShowReflection property to iLedMatrix.
9. Fixed BackGroundPicture streaming problem in VB for components with
Background picture property.
10. Added SegmentOffColor & AutoSegmentOffColor to all Seven Segments
components.
11. Added AutoInactiveColor & InactiveColor property to all LED components.
12. Added ReverseScale property to the following components
iLinearGauge
iAngularGauge
iLogGauge
iAngularLogGauge
iSlider
13. Added HubColor property to the following components
iAngularGauge
iAngularLogGauge
14. Strip Chart additions
Added GetNow method
Added Channel Warning Limit properties
Added AutoScrollFirstStyle property
Added Precision Style property
Added DiscontinuousDataEnabled property
SetChannelDataNull method.
15. Seven Segment Clock additions
Added CountDirection property
Added CountTimerEnabled property
Added OnCountDownComplete event
Added SetTimeInSeconds method
Added ResetToZero method
16. Added new Compass Control to Professional Pack.
ActiveX and VCL Version 1.1.0 (Service Pack 4)
1. Added support for Borland C++ Builder 5.
2. Added PositionIndicatorStyle property to iSwitchSlider.
3. Fixed TabStop problem with VCL components.
4. Fixed VCL property Editor Tab Order.
5. Fixed streaming bug where CurrentMin not being set correctly.
6. Fixed streaming bug that incorrectly streamed in Position property if Position
was greater than the PositionMax default.
7. Added CaptionAlignment property to iSwitchLed.
8. Added the following features to the iStripChart (See Help File for specifics)...
Printing Comment Lines
Channel Min/Max/Mean
Label Channels
Added CopyToClipBoard method
Added SnapShotPicture property
Added SaveToMetaFile method
Added CursorHideAllOtherChannels property
Added EnableDataDrawMinMax property
Added AutoScaleMinAdjustEnabled property
Added AutoScaleMaxAdjustEnalbed property
Added XAxisShow property
Added GetNextChannelColor method
Added AddIndexTimeNow method
Added AddIndexTimeElapsedNow method
Added ResetElapsedStartTime method
Added EnableDataDrawMinMax property
Added write method for CursorIndex property
ActiveX and VCL Version 1.1.0 (Service Pack 3)
1. Fixed runtime property editor lockup problem when opening color dialog.
2. Fixed property editor display problem when system is using large fonts.
3. Fixed iStripChart bitmap resource leak problem.
4. Fixed iStripChart pen width problem when the last channel width is other than
1.
5. Add the following features to the iStripChartX...
Added PrinterOrientation property
Added PrinterMarginLeft property
Added PrinterMarginTop property
Added PrinterMarginRight property
Added PrinterMarginBottom property
Added PrintChart method
Added Printer Property Page
Added MaxBufferSize property
Added MinBufferSize property
Added CursorIndex property
Added OnCursorIndexChange event
Added RestoreXYAxisOnPlotMode property
Added ChannelVisible property
ActiveX (Only) Version 1.0.8
1. Added OnMouseDown, OnMouseMove, and OnMouseUp events to all
components.
VCL (Only) Version 1.0.8
<None>
ActiveX and VCL Version 1.0.4 (Service Pack 2)
1. Fixed iLinearGauge Font updating problem.
2. Fixed MouseDown event firing in response to MouseUp Event in the following
components...
iKnob
iSlider
iSwitchLed
iSwitchToggle
iSwitchRotary
iSwitchSlider
iStripChart
3. Fixed iSwitchLed Enable problem.
4. Fixed iStripChart XAxisTitle display problem.
5. Added GridBackGroundColor property to iStripChart.
6. Added XAxisDateTimeEnabled & XAxisDateTimeFormatString Property.
7. Added BackGroundPicture to the following components...
iKnob
iAngularGauge
iLinearGauge
iSlider
iThermometer
iLedSpiral
iSwitchSlider
iSwitchRotary
8. Added the following properties to iSevenSegmentCharacter and added property
page to support new properties...
SegmentBits
UseSegmentBits
SegAOn
SegBOn
SegCOn
SegDOn
SegEOn
SegFOn
SegGOn
ActiveX (Only) Version 1.0.4
1. Visual C++ Only : Property page values not updating when editing components
(Fixed).
2. Fixed Property Page tab order problems.
3. Added ShowPropertyEditor to all components.
VCL (Only) Version 1.0.4
1. StripChart Apply button not enabled for most property changes until after at
least one channel is added (Fixed).
ActiveX and VCL Version 1.0.2 (Service Pack 1)
1. Change iStripChart ZoomX and ZoomY methods to zoom based on a 100%
reference. The previous code was zooming based on a 0% reference and
required positive percentages to zoom out and negative percentages to zoom in.
Now functions as intended. To zoom out 100%, specify 2.00. To zoom in
100%, specify 0.50.
2. Fixing painting problem on iSwitchSlider and iSwitchRotary when modifying
labels through code.
3. Fixed access violation caused when using the OnPositionChange event handler.
Removed code that could possible execute the event handler before other
components had been created on the Form causing an access violation.
4. Source code files are now distributed with VCL components.
ActiveX Only 1.0.2
1. Removed all unused Properties and Methods that would not allow ActiveX
components to properly install in Borland products.
2. Removed Hidden attribute on all read only properties. Would cause the read
only properties to be missing in the Visual C++ wrappers.
ActiveX and VCL Version 1.0.1 (Hot Fix #1)
1. Updated Help Files with examples for all Methods and Events.
Installation
ActiveX Users
1. If you are upgrading from version 2.x, it is recommended to first install Version
2.x SP7 (or higher), open, modify, and save your existing projects. This step
will ensure that there are no compatibility problems with default component
properties that are changed in this version.
2. Visual C++ users must regenerate wrappers for components in existing projects
to utilize new features/methods.
3. ActiveX CAB files that have been digitally signed by Instrumentation Software
are available for download from our website
at http://www.Instrumentation.com/download.
VCL Users
1. If you are upgrading from version 2.x, it is recommended to first install Version
2.x SP7 (or higher), open, modify, and save your existing projects. This step
will ensure that there are no compatibility problems with default component
properties that are changed in this version.
2. Rebuild Library/Package for changes to take effect. This installer will reinstall
new package files and will automatically recompile the Library/Package for
you. If the automatic recompilation fails, you can manually recompile the
packages.
CLX Users [Delphi 6/7 and C++ Builder 6 for Windows]
1. Our VCL and CLX components are split into two different packages. The
installer will automatically compile and install the packages for you. If the
automatic compile and install fails, you will need to manually compile both
packages to use both the VCL and CLX versions of our components in Delphi
6/7 or C++ Builder 6.
CLX Users [Kylix for Linux]
Installing with the Linux Installer
Quick Installation Instructions
1. Install and setup Kylix on your system. Note : Please do not run Kylix while
logged in as ROOT. There are known issues with doing anything in
KDE/GNOME/KYLIX while logged in as ROOT. Either log in as a general
user or log in as a user with root privileges when using Kylix.
2. Open a shell and navigate to the folder where you downloaded our Linux
installer. Execute "./setup" file to execute the installer.
3. Follow the wizard in the installer to install our CLX component source code.
You will need the keycodes for your purchased product to complete the
installation.
4. All components are automatically installed into the IDE. Installation is
Complete!
5. Help Files are in the form of a local website, located inside the Instrumentation
Components folder you chose during installation. Use your favorite web
browser to view them.
6. If you have any bug reports or problems, please contact Instrumentation
Support directly or fill out a bug report online.
OPC
OPC deployment licensing is now enforced by our installer. If you previously
purchased an OPC Deployment license, and have not entered the OPC Deployment
License into the keycode manager during installation, you will need to do the
following to properly install the OPC Features...
1. Re-run our installer from the Add/Remove Control Panel
2. Select "Modify", click the NEXT button, and then enter your OPC Distribution
keycode where requested.
3. Continue and complete the installation, asking questions as needed.
4. You do not have to re-compile your Delphi or C++ Builder packages to install
OPC.
If you did not purchase an OPC Deployment license and are using the OPC features of
our components, you will be able to use the OPC features in "evaluation-mode" which
will allow you 10 minutes of OPC communication per run of your application. This
will be indicated by the appearance of "Evaluation" in the OPC property page tab of
our component custom property editors.
A new "iOPC.dll" file will be installed in your Window's System32 folder. This file
contains the OPC features of our components. You can determine if the iOPC.dll is
the Full or Evaluation version by right-clicking and viewing the Version Properties of
the file. The "Description" will contain the words "Instrumentation OPC DLL
(Evaluation)" if you are using the Evaluation Version. This file must be distributed
along with your application and any required OPC core dll's.
Note: Version Service Pack 3 and above must use the iOPC2.dll in order for the
controls to properly use the OPC connectivity features of our controls.
Please refer to the OPC Install Notes located in the Instrumentation Product
Directory. An "OPC Distributables" folder has been provided in the Instrumentation
Product Directory with all files that will need to be distributed to your clients. Also
see the OPC Foundation's website for official distribution packages for the required OPC
core files.
Technical Support
For support, please contact us at [email protected] or visit our web site
at http://www.softwaretoolbox for telephone and other support options.