Iocomp Components Release Notes
Release: |
3.0.1 Service Pack 1 |
Installer Build: |
34 |
Release Date: |
March 13, 2003 |
This document is organized into the following sections...
This and future releases will include our ActiveX, VCL, and CLX (Borland Cross-Platform Component Architecture) versions including full Pascal source code for our VCL and CLX versions. For installer related questions or bug
reports, please submit a copy to support@iocomp.com or visit our website at http://www.iocomp.com/support.
Please note that the CLX version of our components are released, but
may be missing some features due to differences between
operating system platforms (such as Windows Metafile support, OPC
support, etc.). Currently the iRotationDisplay and the iKeyboard
components are not yet fully supported under CLX. A separate CLX
component-only, self-extracting installer is available for use on the
Linux platform to install our component products.
ActiveX and VCL/CLX Version 3.0.1 Service Pack 1 Beta
Bug Fixes:
- 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.
- 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.
- Fixed several issues with the CLX version of the Instrumentation and
Plot Pack components.
- Minor help file fixes.
- Fixed Plot Pack LoadPropertiesFromFile method where Label objects were
not properly loaded. If you would load properties from a file, you
would get a mis-positioned, extra label object than expected.
- Fixed memory leak in Plot Pack components which would occur only when
the component was destroyed.
- Initial release of Version 3.x Linux ELF Installer. Supports
automatic compilation and installation of our components into the Kylix 1-3
Pascal and C++ Builder IDE environments.
New Features:
- 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.
- Upgraded iAnalogOutput key-filter to support the current regional
setting for the decimal separator character.
- Upgraded iLedMatrix indicator caption to support multiple lines of
text. Accepts line feed, carriage return, or both to indicate a break
in the line.
- 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.
- Added RecalcLayout to recalculate all coordinates of all Plot
sub-objects without having to wait for the next repaint or having to
manually call iPaintToDC to force an immediate repaint.
- 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}.
- Upgraded Plot Pack Annotations to support individual clip to axis
property.
- 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.
- 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
- 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.
- Added PasswordChar property to iEdit to support display of password
characters.
- Added the following events to all visual ActiveX controls that were
missing them...
OnMouseDown
OnMouseMove
OnMouseUp
OnKeyDown
OnKeyPress
OnKeyUp
- Added the following events to all visual VCL/CLX controls that were
missing them...
OnMouseDown
OnMouseMove
OnMouseUp
OnKeyDown
OnKeyPress
OnKeyUp
OnEnter
OnExit
- Added Mouse Wheel Zooming support to the Plot Pack Axes.
- 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.
- 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.
- 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)
- 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.
- Added OnXAxisMinSpanChange and OnYAxisMinSpanChange events to iPlot and
iXYPlot.
ActiveX and VCL/CLX Version 3.0.0 Service Pack 0
Bug Fixes:
- Fixed OptionSaveAllProperties property on Plot Pack components.
The property was previously ignored when saving properties to a file.
- 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.
- 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.
- 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.
- 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.
- Fixed iXYPlotX Plot Pack ActiveX bug where the Image List and
Translations were not being streamed.
- Fixed Help File integration into Borland Delphi and Borland C++ Builder
Versions 6 and higher.
- 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:
- 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 |
- 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 |
- 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 |
- Added Additional Plot Channel Data Style:
ipdsFullFeature. This new style enables extended feature enhancement
options of the channel object.
- 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 |
- 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 |
- Updated Plot Pack channel fill routines to support
digital channel option as well as cubic-spline, polynomial, rational,
and differential interpolation styles.
- Updated Plot Pack cursor to
support cubic-spline, polynomial, and rational interpolation styles.
Data Cursors already supported digital and differential interpolation
styles.
- 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 Iocomp
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.
- 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.
-
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.
- Added PrinterName property to
the Plot Pack components to specify which printer to use when using the built-in
printing facilities.
- Upgraded Plot Pack Run-time
Property Editor Channel Stats page speed.
-
Added new OnDataCursorCustomizeHint event to the Plot Pack components.
-
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.
- 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.
- 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.
- 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. |
- 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. |
- 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 |
- 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.
- 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 |
- Updated installer to support Delphi 7 VCL and CLX components.
-
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. -
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.
-
Added GetDisplayXToPixelsX and GetDisplayYToPixelsY to iObjectCanvas.
Allows conversion between the component's display units and pixels on the
component.
-
Added new iImageDisplay component. Allows loading of multiple bitmap
frames, and controllable animation framerate.
-
Updated Plot Pack component backgrounds to support gradient colors.
-
Added new iPipe component. Includes 3d straight pipe and animation
capabilities.
-
Added new iPipeJoint component. To be used with the iPipe component.
-
Added new iIntegerOutput component. Similar to iAnalogOutput, but
supports Integer only output. Supports Integer, Hex, Binary, and
Octal formatting styles.
-
Added new iScope Component. True Analog/Digital Oscilloscope
component with built-in Trigger.
- New VCL/CLX, ActiveX WinHelp, and
ActiveX HTML Help for MSDN (Pre January 2002 Editioin) Files including
many corrections.
- 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.
- Added new iMotor
component.
ActiveX and VCL/CLX Version 2.1.2 Service Pack 6
Bug Fixes:
- Fixed "Interface Not Supported" exception in Visual Basic.NET and C#.NET that occurred with the Plot Pack.
- 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.
- Redesigned the Iocomp Theme Panel component in the Iocomp 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.
- Redesigned the Iocomp Theme Panel auto-centering code for compatibility under CLX.
- Fixed bug in iModeComboBox VCL component where the OnChange and OnChangeUser events would not fire under Delphi 4-5 and C++ Builder 4-5.
- 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.
- 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 Iocomp ActiveX Release Notes for any issues with porting older Visual Basic 5/6 applications to VB.NET using our ActiveX components.
- 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.
- Fixed misspelling for default filename in the Plot Pack Save JPEG/BITMAP/Metafile dialog.
- Limited DateTime format dates to years between 1400 to 9000. This resolves zooming errors that occurred when trying to zoom past these limits.
- 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.
- Fixed problem with Plot Pack zooming when using Logarithmic scales.
- 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.
- Fixed problem where an additional pointer would be added to our gauge components every time you loaded the project in Visual Basic.
- 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.
- Fixed GetBytes JPEG memory leak and speed issues.
- Fixed recursive painting bug when using stacked axes in the Plot Pack. This only became obvious with large, viewable data sets.
- 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.
- 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.
- Fixed runtime property editor bug with plot pack when running under
large fonts. Form would not automatically scale properly to large
fonts.
- Fixed memory leak in iKeyboard drawing algorithm.
- Corrected ActiveX sizing problem in RSView.
- Fixed iObjectCanvas OnClickObject event. The event handler was not
firing correctly.
New Features:
- Added to iPlotChannelCustom, DrawStartIndex and DrawStopIndex that inform you of the data point indexes that are currently visible in the Data View.
- Added OnBeforeLoadProperties and OnAfterLoadProperties events added to Plot Pack Components.
- 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.
- Added UserCanAddRemoveChannels property. This property controls whether the Add/Remove buttons are shown in the Runtime Property Editor.
- 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.
- Added ZoomToFit context sensitive menu item and method to the X and Y-Axis Objects
- 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.
- Added four new methods to Plot Pack Annotation Object: PositionXToPixels, PositionYToPixels, PixelsXToPosition, PixelsYToPosition for converting pixel coordinates to position values.
- Added one new method to Plot Pack Annotation Object: UserCanSize which allows the application end-user to resize the rectangle annotation objects.
- Added two new styles to the Plot Pack Channel Data Marker Styles: VerticalLine and HorizontalLine.
- 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.
- 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.
- Added Bar support to the iPlot component channel object.
- 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
- 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
- Added FocusHandle property to keyboard control. Allows setting the window handle of the component that will receive keystrokes.
- 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.
- Added Image Annotation style. Includes built-in image list for use with Annotations and other future uses.
- Added three built-in custom image lists that you can use with Image Annotations. Images must be loaded at design-time.
- 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.
- 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
- 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.
- 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.
- Added CopyToClipBoardFormat property to Plot Pack. Possible selections are Bitmap, Metafile, and JPEG.
- 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
- Added Cartesian Coordinate Axes support to the Plot Pack components. Added three new properties to the Axis objects...
CartesianStyle
CartesianChildRefAxesName
CartesianChildRefValue
- Updated Plot Pack Digital Channel to support FastDraw.
- Added new property to Axis object: GridLinesVisible.
- 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.
- 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 appliction's 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
- 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
- Added GetOPCItemActive to the ActiveX components.
- 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.
- Optimized LoadDataFromFile method in the Plot Pack to be 500% faster than previous versions.
- Optimized Code for speed on DataAxis and FastDraw features of the Plot Pack.
- 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).
- 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.
- 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.
- Added new TextRectangle Annotation style to the Plot Pack components. Allows the display of a text string inside of a sizeable rectangle.
- 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.
- Limits upgraded to support streaming.
- Annotations now clip to axes. Beneficial when you have stacked axes and you don't want annotations dragging or bleeding into other axis regions.
- 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:
- Fixed Plot Pack problem where a call to ClearAllElements method of the Limit objects would not result in the component being repainted.
- 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.
- Fixed problem where the Legend Y-Value would incorrectly display the X-Value column data.
- 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.
- Fixed iKeyboard problem where SecondRowMargin property was ignored during the automatic height calculations of individual keys.
- 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.
- 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.
- Fixed AddLimit property of gauge components. Pointer Size and Pointer Margin properties were reversed. No interface change, only correction of incorrect property assignment.
- Fixed Limit events that were not functional in gauge components
- Fixed OnPositionChange event that was not functional in gauge components.
- 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).
- Fixed ActiveX ZOrder problem in Excel where the ZOrder would not be preserved from last save.
- Fixed transparency problems with iKnob, iSwitchLever, iCompass, iSlidingScale, and iSlidingCompass components that utilize gradients.
- Fixed resizing issues in RSView and Microsoft Word. Components would change size when switching between design-time and run-time.
- Fixed AddLimit method in gauge components. Pointer Size and Pointer Margin parameters were flipped.
- Fixed limit events in Gauge components; events were not firing.
- Fixed OnPositionChange event in Gauges, event was not firing.
- 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.
- Fixed ActiveX painting corruption in iThermometer, iLinearGauge, iLogGauge, iSlidingScale, and iSlidingCompass when switching between horizontal and vertical orientations.
- Fixed decay feature in iSpectrumDisplay component. Decay had not been functioning since Service Pack 2.
- Fixed iOdometer visual rotation "blip" problem when TenthsDigitCount = 0.
- Fixed SavePropertiesToFile method in Plot Pack. Would previously only save one cursor even if you had multiple cursors in the chart.
- Fixed OnPositionChange property. Would not fire if changed by an OPC Server.
- 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:
- Added iEdit component with OPC string support.
- 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.
- Plot Pack now supports OPC connections to channels objects.
- Keyboard upgraded to support Numeric Keypad style.
- Add SelectActive property to Plot Pack Toolbar interface. This property allows you to tell if the select tool is active.
- Added OPC support to the iPanel, iPieChart, iPercentBar, iLedMatrix, and iSpectrumDisplay components.
- Updated Switch Rocker 3-way to write Value property to OPC Server.
- Updated iKeypad to ensure keys are not transparent when using the transparent background feature.
- Added CachedDrawing feature to Property Editor of iLedMatrix
- 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).
- 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.
- 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 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:
- Fixed Internet Explorer error where the visible, width, and height properties would no longer function in VBScript.
- 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.
- 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.
- 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.
- Several issues regarding resizing, moving, disappearing components, and IE display issues have been fixed in our ActiveX components.
- Increased compatibility of moving and resizing ActiveX components in ActiveX containers.
- Fixed Themes lockup bug in Visual Basic running under Windows 95/98/ME.
- Fixed OPC where some servers would callback to the component after the event handlers for the OPC connection were disconnected.
- Fixed problem where legend would not display existing channels if removed and then re-added.
- Fixed legend up/down button scrolling issue.
- Fixed problem where translations would not persist (stream out).
- Fixed problem in iAngularGauge where If SectionEnd is less than PositionMin then the entire section would be filled with that section's color.
- Fixed OPC Boolean property support. Now supports strings "TRUE" and "FALSE" (case insensitive) that come from OPC Servers.
New Features:
- Added Axis Linking Support in Plot Pack.
- Added FocusControl support to the iLabel component for VCL applications.
- 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 iModeCombo.
- Added multiple Label support to Plot Pack. Title properties depreciated in favor of multiple Label support, but are provided for backwards compatibility.
- 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.
- 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.
- Added "High" and "Low" to Plot Pack Data Cursor to signify Digital High and Digital Low values in Digital Channels.
- Added LinkedCell to various components for use with this feature in Microsoft Excel.
- Added OnClickIndicator event to iLedMatrix. The row and column are passed in the event handler to indicate which indicator was clicked.
- Added new iTank, iValve, iModeComboBox, and iSwitchPanel components.
- Added CLX component versions of all of our components for use with Delphi 6 for Windows and Kylix 1-2 for Linux.
- Improved OPC property editor dialog to remember the previous Computer Name, OPC Server Name, and Update Rate for quicker setup of multiple items.
- Added Mouse Wheel support to the Knob, Slider, Switch Slider, and Switch Rotary components. Uses the KeyPageStepSize property to respond to Mouse Wheel scrolls.
- 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.
- 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.
- Added FontColor property to ActiveX interface for the iModeComboBox component.
- 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).
- Added Mouse Wheel support to iKnob, iSlider, iSwitchSlider, and iSwitchRotary.
- Added MouseWheelStepSize property to iKnob and iSlider.
- 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.
- Added ChannelNameMaxWidth property to specify the maximum width of the Channel Name column to allow word wrapping of long channel names.
- Added New Legend Columns. Use the ShowColumnYMax, ShowColumnYMin, ShowColumnYMean. These values display the running Max, Min, and Mean of the channel.
- Added PositionToPercent and PercentToPosition methods to Plot Pack Axis objects.
- Added OnClickDataPoint and OnClickAnnotation events to Plot Pack components.
- Added Cubic Spline, Polynomial (n-1), Rational, Differential, and Straight Line (older default) Interpolation curve fitting options to Plot Pack Channel Object.
- Added UserCanMove property to Plot Pack Annotation objects, allowing end-user to visually move annotations on the component.
- Added ShowSelectButton toolbar button to turn on and off the select cursor which allows users to click on data points and annotation objects.
- Added DigitBorderShow, DigitBorderColor, TenthsDigitCount, and ShowDecimalPoint properties to the iOdometer control.
- Upgraded ActiveX help file to Microsoft HTML-style help system.
- Added AutoSelect property to the iAnalogOutput control.
ActiveX and VCL Version 2.0.6 Service Pack 3b
Bug Fixes:
- 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.
- Fixed LineX and LineY annotation styles would not correctly draw if ReferenceStyle was set to DataView.
- If the MinMaxUserCanMove property set to true, the Max pointer would not be moveable if the Min pointer was not visible in angular gauge.
- Fixed bug in SwitchLED resulting in CaptionMargin property having no effect when CaptionAlignment was set to OppositeSide.
- Fixed Plot Pack components where zoom box would match the axes title font color.
- Fixed LineX annotation bug in Plot Pack where Y and Y2 values would be swapped.
- 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.
- Fixed iLEDRectangle where text caption would overlap the 3D border margins.
- 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:
- ScaleMax and ScaleMin added to Spectrum Display.
- Knob upgraded to allow turning off keyboard support.
- Added DataEmpty property, AddXEmpty method to iPlot, AddEmpty method to iXYPlot, and FastDrawEnabled property.
- Added cursor keyboard support to Plot Pack components.
- Added FastDrawEnabled property to Plot Pack components. Speeds up drawing to screen with large data sets.
- Added Glyph support to iSwitchLED and border support.
- 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:
- 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.
- Instrumentation: SwitchRocker3Way descendent for BackGroundColor property should have a capital "G".
- Instrumentation: Seven Segment Clock control displays incorrect hour values.
- 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.
- Instrumentation: Odometer displays incorrect values.
- Plot: Cannot select channel at top of legend if scroll arrow up is enabled.
- Plot: When adding or removing plot objects, the component would not request a repaint.
- 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.
- Instrumentation: Upgrade ActiveX property editors to support a single ActiveX property editor tab to fix Theme Panel bug in Visual Basic.
New Features:
- Instrumentation: Add Auto Size capability to Angular Gauge
- Instrumentation: Add keyboard component with US support.
- Instrumentation: Upgrade Spectrum Display to allow setting a bar color per bar
- Instrumentation: Add comma support for international values in Seven Segment Character and Seven Segment Analog if decimal separator is defined as comma (",")
- Instrumentation: Add text alignment feature to Panel control
- Instrumentation: Upgrade LED Spiral to support pointer style
- Instrumentation: Add OnCustomizeTickLabel event to compass and dual compass
- Instrumentation: Add text alignment feature to Panel control
- Plot: Add peak to peak, time, and frequency dual cursor for measuring between points in a particular channel.
- Plot: Upgrade cursor to show null data points as well as empty data points
- Plot: Upgrade AutoLabels to support other 1-2-5-type rules on DateTime format
- Plot: Expand 1-2-5 rules.
- Plot: Add tag property to plot components for storing user data
- Plot: Add "Desired Increment" to scales to allow for greater control over AutoScale and 1-2-5 rule
- Plot: Update AutoLabel to support Date/Time (Julian Dates Only) and Price32nds (Bond Market Scale). These scales should scale property to be "Human Readable".
- Plot: Update Time Calculator to support Price32nds
- Plot: Extend Log10 scales to support AutoScale
- Plot: Upgrade to support multiple cursors, delta cursors, and inverse delta cursors.
- Plot: Upgrade to support unlimited limit lines.
- Plot: Upgrade to support zoom factor scaling for zoom toolbar buttons
- Plot: Allow control over popup menus and add enabled property to disable individual plot object UI
- Plot: Make annotations visible in Plot Components when X/Y Axes are reversed.
- Plot: Add tag property to plot components for storing user data
- Plot: Allow individual control of markers per data point in addition to per channel.
- Plot: Update save dialogs to support JPG, BMP, and EMF file formats
- Plot: Update AutoLabel to support Date/Time (Julian Dates Only) and Price32nds (Bond Market Scale).
- Plot: Update Time Calculator to support Price32nds.
- Plot: Add Data Array support to channel interface to allow addition of data using a one dimensional array.
- Plot: Allow four different angles of rotation for text annotations
- Plot: Add two new line annotation styles: LineX and LineY for drawing lines perpendicular to the X and Y Axis
- ALL: Update all USE statements in VCL source code to support Linux/Windows
- ALL: Add BMP, EMF, and JPG export capabilities for ASP web page and other export uses.
- 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
- Updated Help Files
- Updated Plot Pack Manual PDF (available at http://www.iocomp.com/documentation)
Plot Pack Updates
- Fixed memory leak when using Plot Pack component sub objects (ActiveX only).
- 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.
- Fixed problem in runtime property editor. Layout editor would not function properly if other properties in the runtime property editor were changed.
- 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.
- Fixed Datax, DataY, and DataNull properties. They previously had no effect.
- Added Save to Tab Delimited File support to Plot Components.
- Added automated logging per component and per channel.
- Added Mouse Events to Plot Component main interface.
- Added External Toolbar Support.
- Added BeginUpdate, EndUpdate, Print, CopytoClipboard, Save, GetSnapShotPicutre, RepaintAll, Lock, and Unlock methods added to Plot Pack.
- Added Date/Time calculator for property editor min and span properties.
- Added AddDataArray method for adding synchronous data from a one or two dimensional array.
- Added Digital Channel support.
- Added HideAllMenuItems property.
- Added Expand/Collapse to Scale Format Style.
- Added SetLimitLinesOnTop method.
- Added SetGridLinesOnTop method.
- Added support for PixelsToPosition method to support invisible axes.
- 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
- iSwitchLed upgraded for word-wrap (New Property WordWrap)
- Spectrum display upgraded to support setting individual colors for each bar.
- Angular Gauges now support degree range between 0 and 360 (previously 0 to 355).
- Phone Pad upgraded to support individually changing captions for each button to a custom value.
- Added show property for each button in the Phone Pad component.
- 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.
- Analog Output now responds to arrow keys instead of treating them as tab keys.
- The following Control and Warning Limit properties were added to iStripChart...
GetChannelControlLimitUpperLineWidth
SetChannelControlLimitUpperLineWidth
GetChannelControlLimitLowerLineWidth
SetChannelControlLimitLowerLineWidth
GetChannelWarningLimitUpperLineWidth
SetChannelWarningLimitUpperLineWidth
GetChannelWarningLimitLowerLineWidth
SetChannelWarningLimitLowerLineWidth
- Wordwrap property added to iSwitchLed
- Added SaveToBitmap method to iStripChart
- Added Focus method to iStripChart
- Fixed streaming problem with Switch Slider, Rotary Switch, LEDSpiral and the VB built-in.
ActiveX and VCL Version 2.0.0 Hot Fix #2
- Fixed ActiveX interface problem with the Plot Pack Channel Object. Affected Internet Explorer and HP/Agilent VEE Users Only.
- Fixed Anti-Alias code for sliding scale components which would not work correctly wish very small component sizes.
- Fixed Visual Basic lockup problem with nested Plot Pack property editors.
- Fixed memory leak in Dual Compass component.
ActiveX and VCL Version 2.0.0 Hot Fix #1
- Fixed missing FontColor property on the Plot Pack Annotation object.
- Fixed problem where changing Pen width of Plot Pack Annotation object would change pen width of x-axis elements.
- Fixed problem where changing Title Font through object inspector would cause an access violation in Delphi or C++ Builder when using VCL components.
- Fixed problem with VCL Property Editor Textbox Error where some lower case keys were being interpreted as control characters
- Fixed trace line algorithm problem causing artifacts to be drawn in Plot Pack Data View Area.
- Updated Plot Pack clipping code which resulted in incorrect clipping of some data points.
- Updated Plot Pack Fill routine upgraded to handle reverse XY axes
- Added New property to disable users from accessing the Plot Pack Run-Time Property Editors through right mouse clicks. PropertyName: UserCanEditObjects
- 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 Iocomp ActiveX controls are used.
- Fixed error in Seven Segment Analog component where incorrect values would be displayed.
- Fixed error where changing Y-Axis Label separation would change X-Axis Label separation property in VCL Plot Component Property Editor.
- Fixed error if X-Axis in Plot Component was shown above DataView area, the chart title would be misaligned.
- 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
- Fixed problem in StripChart SetBufferSize that may not report an error if the buffer size can not be allocated.
- Fixed KeyUp problem in ActiveX for the SwitchRotary and SwitchSlider. Would still indicate that the Arrow key was down even thoug it had been released.
- Fix problem with iObjectCanvas that would cause Ellipse and Rectangle to disappear if zooming out to far.
- Fixed multiple OCX loading bug in Visual C++ under Windows 95/98 (Reflector Window Problem).
- Fixed bug in the iAnalogOutput that caused the Tab key to not move focus to the next control under Visual C++ applications
- OnChangeUser Event Handler Added to iAnalogOutput.
- OnPositionChangeUser Event Handler Added to iKnob.
- TickLabelAlignment property Added to iAngularGauge.
- OnPositionChangeUser Event Handler Added to iSlider.
- OnChangeUser Event Handler Added to iSwitchLed.
- OnChangeUser Event Handler Added to iSwitchToggle.
- OnPositionChangeUser Event Handler Added to iSwitchRotary.
- OnPositionChangeUser Event Handler Added to iSwitchSlider.
- OnValueXChangeUser Event Handler Added to iSwitchQuad.
- OnValueYChangeUser Event Handler Added to iSwitchQuad.
- OnChangeUser Event Handler Added to iSwitchLever.
- OnChangeUser Event Handler Added to iSwitchRocker.
- OnValueChangeUser Event Handler Added to iSwitchRocker3Way.
- Theme capability added to all Professional and Instrument Pack components.
- Fixed Theme Panel crash with Visual Basic 5/6 under Windows 95/98
- 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:
Professional Pack:
- iSpectrumDisplay Component
- iPhonePad Component
- iDualCompass Component
- iSlidingScale Component
- iSlidingCompass Component
- iThreadTimers Component
ActiveX and VCL Version 1.1.6 (Service Pack 7)
- Fixed iAngularGauge and iAngularLogGauge SectionColor fill bug.
- Fixed Mulitiple Iocomp OCX Dax error problem in VB.
- Fixed StripChart Grid Scrolling Drawing bug (1 line missing).
- Added AutoCenter property to iAngularGauge.
- Added CenterLabelWordWrap property to iLedRectangle.
- Added CenterLabelEndsMargin property to iLedRectangle.
- Added CenterLabelAlignment property to iLedRectangle.
- Added AutoSize to iLedSpiral.
- Added OuterMargin to iLedSpiral.
- Added RangeDegrees to iLedSpiral.
- Added StartDegrees to iLedSpiral.
- Added MouseControlStyle to iSwitchRotary.
- Added YAxisLabelWidthFixed Property to iStripChart.
- Added YAxisLabelWidth Property to iStripChart.
- Added YAxisReverseScale Property to iStripChart.
- Added SetBufferSize Method to iStripChart.
- Added AddData Method to iStripChart.
- Added AutoSize to iKnob.
- Added OuterMargin to iKnob.
- Added FrameUpdateRate to all components except iAnalogOutput and iTimers.
- Linked Cells now supported under Excel.
- 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).
- Fixed design-time drawing bug in Excel and Cimplicity.
- Fixed recursion problem in Cimplicity when double-clicking on component.
- Fixed component destruction bug in PowerBuilder.
- Fixed GetChannelMax and GetChannelMin bug which caused the last data point to be ignored.
- Updated Help Files.
ActiveX and VCL Version 1.1.4 (Service Pack 6)
- Fixed MinMaxPointerMargin property change error which resulted in the Scale not being redraw in its new position.
- Fixed iSwitchSlider and iSwitchRotary Position streaming error that would have limited it to a maximum value of 2.
- 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.
- Fixed drawing error in knob control that would occur with some NT video drivers.
- Fixed iAnalogOutput SetFocus and KillFocus problems in ActiveX.
- Upgraded iOdometer control to rotate all digits. WARNING: you may need to expand the width of the control to accomodate the new painting routines.
- Added BackGroundColor property to the SwitchQuad control.
- 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
- Added the following events to the iStripChart control...
OnKeyPress
OnKeyDown
OnKeyUp
- Added BeginUpdate and EndUpdate methods to all controls except iAnalogOutput and iTimers.
- Added PrecisionStyle property to all Scale components.
- Added AutoScale to all Scale components implemented via the four following properties...
AutoScaleEnabled
AutoScaleDesiredTicks
AutoScaleMaxTicks
AutoScaleStyle
- Added the following properties to the iStripChart control...
ChannelVisibleInLegend
InterpolateMissingDataPoints
YAxisShow
- Added OnCustomizeTickLabel to all Scale based components.
- 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
- Added MouseControlStyle to iSlider control.
- Added Lock and Unlock methods to all controls (Except iTimers) to simplify Multiple Thread Management.
- Added AutoCenter property to iThermometer.
- 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)
- iLedRectangle - Fixed Property Editor, CenterLabelFontInactiveColor incorrectly sets the CenterLabelFontActiveColor.
- Fixed iSevenSegmentClockSMPTE VCL property editor not enabling OK or Cancel button when Hour/Min/Sec property is updated.
- Fixed ActiveX printing problems.
- iSlider and iKnob modified to now change the indicator state in response to keyboard control.
- iAnalogOutput Additions
Added BeepOnError property.
Added UndoOnError property.
Added FilterStyle property.
Added OnBeforeChange event.
- Added ShowReflection property to iLedRound.
- Added ShowReflection property to iLedRectangle.
- Added IndicatorShowReflection property to iLedMatrix.
- Fixed BackGroundPicture streaming problem in VB for components with Background picture property.
- Added SegmentOffColor & AutoSegmentOffColor to all Seven Segmentscomponents.
- Added AutoInactiveColor & InactiveColor property to all LED components.
- Added ReverseScale property to the following components
iLinearGauge
iAngularGauge
iLogGauge
iAngularLogGauge
iSlider
- Added HubColor property to the following components
iAngularGauge
iAngularLogGauge
- Strip Chart additions
Added GetNow method
Added Channel Warning Limit properties
Added AutoScrollFirstStyle property
Added Precision Style property
Added DiscontinuousDataEnabled property
SetChannelDataNull method.
- Seven Segment Clock additions
Added CountDirection property
Added CountTimerEnabled property
Added OnCountDownComplete event
Added SetTimeInSeconds method
Added ResetToZero method
- Added new Compass Control to Professional Pack.
ActiveX and VCL Version 1.1.0 (Service Pack 4)
- Added support for Borland C++ Builder 5.
- Added PositionIndicatorStyle property to iSwitchSlider.
- Fixed TabStop problem with VCL components.
- Fixed VCL property Editor Tab Order.
- Fixed streaming bug where CurrentMin not being set correctly.
- Fixed streaming bug that incorrectly streamed in Position property if Position was greater than the PositionMax default.
- Added CaptionAlignment property to iSwitchLed.
- 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)
- Fixed runtime property editor lockup problem when opening color dialog.
- Fixed property editor display problem when system is using large fonts.
- Fixed iStripChart bitmap resource leak problem.
- Fixed iStripChart pen width problem when the last channel width is other than 1.
- 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)
- Fixed iLinearGauge Font updating problem.
- Fixed MouseDown event firing in response to MouseUp Event in the following components...
iKnob
iSlider
iSwitchLed
iSwitchToggle
iSwitchRotary
iSwitchSlider
iStripChart
- Fixed iSwitchLed Enable problem.
- Fixed iStripChart XAxisTitle display problem.
- Added GridBackGroundColor property to iStripChart.
- Added XAxisDateTimeEnabled & XAxisDateTimeFormatString Property.
- Added BackGroundPicture to the following components...
iKnob
iAngularGauge
iLinearGauge
iSlider
iThermometer
iLedSpiral
iSwitchSlider
iSwitchRotary
- 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
- Visual C++ Only : Property page values not updating when editing components (Fixed).
- Fixed Property Page tab order problems.
- Added ShowPropertyEditor to all components.
VCL (Only) Version 1.0.4
- 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)
- 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.
- Fixing painting problem on iSwitchSlider and iSwitchRotary when modifying labels through code.
- 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.
- Source code files are now distributed with VCL components.
ActiveX Only 1.0.2
- Removed all unused Properties and Methods that would not allow ActiveX components to properly install in Borland products.
- 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)
- Updated Help Files with examples for all Methods and Events.
Other Fixes Not Listed
ActiveX Users
- If you are upgrading from version 2.x, it is recommended to first install Version
2.x SP7, 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.
- Visual C++ users must regenerate wrappers for components in existing projects to utilize new features/methods.
- ActiveX CAB files that have been digitally signed by Iocomp Software are available for download from our website at http://www.iocomp.com/download.
VCL Users
- If you are upgrading from version 2.x, it is recommended to first install Version
2.x SP7, 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.
- 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]
- 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.
CLX Users [Kylix for Linux]
Installing with the Linux Installer
Quick Installation Instructions
- 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.
- Open a shell and navigate to the folder where you downloaded our Linux
installer. Execute "./setup" file to execute the installer.
- 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.
- Open Kylix and then open the Iocomp60.bpk package file located in the
"Kylix1" folder where you installed our source files (Use the Kylix1 folder
for both Kylix 1, 2, or 3).
By default our source is installed in ...
"{user home directory}/iocomp/product/Kylix1"
example for user "TestUser"...
"/home/TestUser/iocomp/product/Kylix1"
...or if you ran the installer as Root...
"/usr/local/iocomp/product/Kylix1"
- Remove any items from the package that you did not have a keycode for during the installation. For example...
Instrument Pack Only
Remove iPlotPackPropertyEditorsReg.pas
Remove iPlotPackReg.dcr
Remove iPlotPackReg.pas
Remove iProfessionalPropertyEditorsReg.pas
Remove iProfessionalReg.dcr
Remove iProfessionalReg.pas
Professional Pack Only
Remove iPlotPackPropertyEditorsReg.pas
Remove iPlotPackReg.dcr
Remove iPlotPackReg.pas
Plot Pack Only
Remove iInstrumentPackPropertyEditorsReg.pas
Remove iInstrumentPackReg.dcr
Remove iInstrumentPackReg.pas
Remove iProfessionalPropertyEditorsReg.pas
Remove iProfessionalReg.dcr
Remove iProfessionalReg.pas
- Click on the "Install" button to compile and install our components into your pallet.
- Open your Tools/Environment Options menu, click on "Directories/Conditionals", and add to the Library Path a path to our source files.
By default our source is installed in ...
"{user home directory}/iocomp/product/Kylix1"
...or in...
"/usr/local/iocomp/product/Kylix1" if you ran our installer as root.
- Installation is Complete!
- Please understand that this is a beta version of our components under CLX. Some features have been disabled or do not work properly as of yet. If you have any bug reports or problems, please contact Iocomp Support directly or fill
out a bug report online.
See other Install Notes for specific compiler instructions.
For support, please contact us at support@iocomp.com
or visit our web site at http://www.iocomp.com/support
for telephone and other support options.
Copyright
©1998-2003 Iocomp Software Incorporated. Iocomp and the Iocomp Logo are registered
trademarks of Iocomp Software Inc. Borland is a registered trademark of the Borland
Corporation. Windows, Microsoft, and ActiveX are registered trademarks of the Microsoft
Corporation. Linux is a trademark of Linus Torvalds. All other trademarks are registered
by their respective owners.