|
Enhanced
Components in Release 5.3.2:
|
| Component |
Description |
|
TabcDBEffectsImage |
Published the Transparent property to allow
images to be drawn over a background.
Added a new DataFieldCaption property. This
allows a second field in the Datasource to supply a text caption to be
drawn on top of the image.
Published the following caption formatting
properties: Alignment, CaptionStyle, BiDiMode, ParentBiDiMode, Font,
ParentFont, Layout and WordWrap.
Added methods to automatically scroll forward
through all the images in a dataset:
procedure Play(Loop: Boolean); if Loop is
true, the scrolling continues indefinitely, looping back to the beginning
of the dataset.
procedure Stop; can be called to stop the
animation.
Added an OnAnimateNext event. This occurs
before scrolling to each record in the dataset and has a parameter to stop
scrolling.
Note: the EffectPause value can be adjusted
for the duration each image should remain before scrolling to the next
record.
Note: the DataField property can be connected
to a blob field or to a string field containing a file name to be
loaded.
Added a published FilePath string property
which can be a path prefix for the string field containing the file name.
abcDBEffectsImage can be configured to load
BMP, ICO, WMF, JPG, GIF and TIFF data automatically from blob fields. (GIF
and TIFF formats require external TGraphic classes). |
| TabcDBDateTimePicker |
Replaced the Kind
property with DateTimeKind to allow dates and times to be edited in one
control. Type TabcDateTimeKind = (adkDate, adkTime, adkDateTime);
Changed the data
field updating to only update the date or time part (or both parts) of a
TDateTimeField based on the DateTimeKind property, so that multiple edit
controls can be connected for date and time portions of the field. |
| TabcButtonBar,
TabcButtonPage and TabcButtonList |
Published the
OnContextPopup event.
Added several new
public methods to assist when creating, editing or deleting pages and list
items at runtime:
procedure
TabcButtonPage.Move(Down: Boolean); moves a page down or up in the abc
ButtonBar.
procedure
TabcButtonListItem. Move(Down: Boolean); moves an item down or up in the
abc ButtonList.
function
TabcButtonList.AddItem(ACaption: string; AImageIndex: Integer; DoEdit:
Boolean): TabcButtonListItem; appends a new item to the
abcButtonList. The DoEdit parameter invokes the inplace editor.
function
TabcButtonBar.AddPage(ACaption: string; DoEdit, AppendPage: Boolean):
TabcButtonPage; adds a new page to the abcButtonBar.
function
TabcButtonBar.AddPageWithList(ACaption: string; DoEdit, AppendPage:
Boolean): TabcButtonList; adds a new page and buttonlist to the
abcButtonBar.
function
TabcButtonBar.RemoveActivePage(Confirm: Boolean): Boolean; optionally
displays a confirmation dialog and then deletes the active page of the
abcButtonBar. Returns true if a page was deleted.
function
TabcButtonList.RemoveActiveItem(Confirm: Boolean): Boolean; optionally
displays a confirmation dialog and then deletes the active item of the
abcButtonList. Returns true if an item was deleted. |
| TabcRichEdit,
TabcDBRichEdit |
Added left and top
alignment of visible toolbars on the popup edit dialog. |
| TabcnpFilterExpression |
Added property
OnActivate: TNotifyEvent. This occurs whenever the Active property changes
to True.
Added property
OnDeactivate: TNotifyEvent. This occurs whenever the Active property
changes to False.
Added property
OnEdited: TNotifyEvent. This occurs after the filter has been edited using
the popup dialog (and the user clicked Ok in the dialog).
Changed the Edit
method from a procedure to a function with a boolean result. |
| TabcDBHelpManager |
Added a new method
Show. this has the same effect as pressing F1.
Added a new method
ShowDefaultTopic.
Added a new method
EditDefaultTopic, to edit the DefaultTopic.
Added new methods to
support custom help topics, other than form class names:
ShowHelpTopic(const HelpTopic: string);
EditHelpTopic(const HelpTopic: string);
Changed the use of
the DefaultTopic property to show the default topic when ReadOnly=True and
showing help and there is no help text stored for the active form.
Previously it was only used when there was no active form. |
|
Bugs
Fixed in Release 5.3.2:
|
| Component |
Description |
Transition
Effects used in TabcEffectsImage, TabcDBEffectsImage, TabcAnimationFrame,
TabcPage and TabcFormPanel |
Fixed a Windows 98 and
Windows ME bug with transition effects on forms containing a TabcDock
control. In some cases this caused the application to terminate with an AV
in kernel32.dll.
Fixed alignment and
sizing of some transition effects on the canvas; the following effects
were changed: atfZoomIn, atfPourDown, atfPourRight, atfShape...,
atfWipeClockwise, atfWipeAntiClockwise.
Fixed a bug causing
a small memory leak with some effects.
Completed stress
testing of transition effects and multiple thread interactions in a high
performance graphics application. Modified the design for some runtime
canvas locking, thread interaction and API call parameter issues. |
|
TabcEffectsImage |
Removed a blank item
in the list used in the Delphi IDE EffectSelection editor dialog.
Fixed a transparent
color masking problem with WMF files. |
TabcAnimationFrame
and TabcFormPanel |
Fixed a bug not
showing forms correctly when Transition.NoRedraw=True and
Transition.Enabled=False. |
TabcQuadSplit
and other splitter components |
Fixed bug causing
proportional sizing (SplitHPercent, SplitHScaled; and SplitVPercent,
SplitVScaled) to fail under some conditions when a form is loaded. |
TabcDBRichEdit |
Published the
EditorTitle property.
Fixed bugs where
Clear and OpenFile methods did not edit the underlying data field, causing
changes not to be saved. |
TabcCurrencyLabel |
Fixed a typo in the
string constants, "forteen" should be "fourteen". |
TabcDBFixedGrid |
Fixed a bug in
Delphi 4 and 5 where fixed columns font color and titles are not painted
correctly. |
TabcMenuToolbar,
TabcPopupMenu |
Fixed a bug causing an
access violation when a key is pressed while a PopupMenu or toolbar
dropdown menu is showing.
Fixed a bug in auto
line reduction causing menus to size incorrectly and to hide items at the
bottom of the menu.
Fixed a rare bug
where top level menu items were not disabled/enabled correctly when an OLE
control modal dialog is shown and then closed.
Fixed code to
initiate actions for top level menu items correctly during OnIdle.
Changed menu mouse
interaction to only allow the left mouse button to select a menu item.
Changed help context
processing and F1 key handling to always return a valid helpcontext for
the nearest active TMenuItem and made the helpcontext mouse-sensitive on
dropdown menus. |
TabcDBEffectsImage |
Fixed a bug loading
graphic streams from blob fields. This effected the image transparency. |
TabcDBDateTimePicker |
Fixed a bug causing the
control to edit a dataset at designtime.
Fixed a bug where
the default date was not saved in a new record.
Fixed a display
formatting problem in time fields. |
TabcDBAutoEdit
and TabcnpBlobEdit |
Fixed a bug in the
graphic field editor SaveAs action, causing graphic field data to be saved
to a file with database (Paradox) graphic header information embedded,
resulting in an invalid graphic file. |
TabcButtonList |
Fixed a bug when
[ablKeepSelected] in Options, Items.Clear causes an index error.
Fixed a bug where
the active item was not redrawn after a popup menu is shown and the mouse
moves off the
item. |
TabcShapeForm |
Fixed a bug causing
a memory leak on Windows 9x. |
TabcDBEditWin |
Fixed a bug causing
controls not to be created when loading a form in the IDE that uses a
datasource from an inherited form. |
TabcDBHelpManager |
Fixed a bug where help
text is not cleared from the help form before editing a different help
topic.
Fixed a bug when
editing help, the Save or Delete action would not work unless ReadOnly =
False. |
TabcNavPanel,
TabcNavToolbar |
Changed the storage of
the Datasource property so it is not stored when AutoDatasource = True.
Changed designtime
editing of Datasource and AutoDatasource, so that setting one property
clears the other. |
TabcnpDatasourceEdit |
This component
automatically set its parent NavPanel or NavToolbar AutoDatasource
property to true. The behaviour is now changed to just display a warning
at designtime only, without actually changing the parent's property. |
TabcnpFilterExpression |
Fixed a bug loading
the Active and Filter properties at runtime. |
TabcnpEmptyTable,
TabcnpFilterActive, TabcnpRange, TabcnpFindKey, TabcnpQueryParams,
TabcnpSQLStartTrans, TabcnpSQLCommit, TabcnpSQLRollback |
Fixed a bug causing
an access violation at designtime when the parent NavPanel.Datasource is
assigned and one of these components is added to the NavPanel. |
ABC 5 Demo
Program |
Modified this
application to run when the BDE is not installed. Previously it would
terminate with Runtime Error 217 due to an initialization error checking
the installed BDE version. The application now runs with a warning and the
database demos are disabled. |
Apollo
Dataset adapter classes in unit abcdaap |
Fixed a bug in
variant arrays of parameters, which caused the FindKey and FindNearest
methods to fail. |
|
Enhanced
Components in Release 5.3.1:
|
| Component |
Description |
|
TabcEffectsImage, TabcDBEffectsImage |
Transition effects have been redesigned to run in separate
threads instead of in the main application thread. This improves the user
interface response while transition effects are painting. Added
a new published property EffectPause: Word. This allows you to add a delay
after a transition completes painting, and before the OnEffectEnd event
occurs. The delay is in milliseconds and it occurs in the transition
drawing thread, not the main application. The
ProcessMessages property used with transition effects is no longer
required and has been removed. The units abcufxa.pas and
abcufxb.pas are no longer used. All transition effects are merged into one
thread class in the abcufx.pas unit. |
|
Transition Effects used in TabcAnimationFrame, TabcPage
and TabcFormPanel |
As with TabcEffectsImage, transition effects have been
redesigned to run in separate threads instead of in the main application
thread. These transitions are typically used in a synchronous mode, where
other actions are needed on completion. They now automatically process
messages while waiting for the thread to complete.
The ProcessMessages property has been removed. The
transition effects capture of form and control images has been improved
significantly. The utility functions in unit abcutilf.pas include a
rewritten version of abcGetControlBitmap to work with most windows common
controls, toolbars, richedit, scrollbars etc. There is also a new utility
function abcCopyWindowFromDesktop which can be used to capture an image on
screen. |
|
TabcButtonBar, TabcButtonPage |
Added a ButtonColor property to allow buttons to change
from the default clBtnFace color.
Added a new boolean
property ButtonEnabled to TabcButtonPage. This allows individual buttons
on TabcButtonBar to be visible but disabled. Set this property to False to
disable the button for the page. The disabled button is drawn grayed and
cannot be selected or edited when disabled. |
|
TabcButtonList |
Added a new boolean property to list items.
TabcButtonListItem.Enabled allows individual button items to be disabled.
The default is to enable all items. Disabled items are drawn grayed and
cannot be clicked, selected or edited. If the list item is linked to a
TAction, the enabled property is also linked.
Added a new property GroupIndex: integer. This allows
multiple button lists within the same parent control, or on the same
abcButtonBar to only have one selected item. The GroupIndex only applies
if it is non-zero and the Options property of the ButtonList includes
[ablKeepSelected]. To use this property, set all the abcButtonLists to
have the same non-zero GroupIndex and the ablKeepSelected value in the
Options property. Added a new
property ScrollButtonStyle. TabcScrollButtonStyle = (asbDefault, asbFlat,
asbRect). This allows flat style scroll buttons to be drawn in the button
list. Added a new Options value, ablHideCaptions. Adding
this value to Options draws the buttons with the icon only and no caption. Added
a published property ItemSpace: Byte; This allows the vertical space
between items to be changed. The default is 5 pixels. Changed
the updating of ActiveIndex and SelectedIndex properties to stop
subsequent index changes while events are processing. |
|
TabcMainMenu |
Added functions to support manual merging of two or more
main menus. The target menu must be connected to an abcMenuToolbar before
merging.
procedure Merge(Menu: TMainMenu); adds Menu items to the target, inserting
them in GroupIndex order. The Menu argument must be a TMainMenu or
descendant TabcMainMenu. Multiple menus can be merged by calling Merge for
each menu. If the Menu argument is nil, all merged menus are removed.
procedure Unmerge(Menu: TMainMenu); removes Menu items from the target. Note
these functions are not required for merging MDI children - the active MDI
child's menu is merged automatically.
|
|
TabcMenuToolbar |
Added AutoLineReduction and AutoHotkeys features. |
|
TabcAnimationFrame, TabcButtonBar |
Added performance enhancements to skip animation delays
when loading the control. |
|
TabcPage used in TabcAnimationFrame |
Added public FreeForm method to set the Form to nil and
also free it. |
|
TabcPicSpeedBtn, TabcToolbarButton and DB Navigator
Buttons |
Added a performance tuning option to reduce the use of GDI
resources. This feature is most useful for applications running on Windows
95 or 98. The options is set using a new global variable ABC_GLYPHS_SAVE_GDI: Boolean = False;
in unit abcutilg.pas. When this variable is set to true,
abc graphic buttons will reduce GDI resource use by freeing image handles
when not needed for creating button glyphs. Using this option, GDI
resource use can be dramatically reduced, however there is a slight
runtime performance decrease when changing button states. This option only
affects buttons using a Picture or Bitmap property. For
Windows NT and 2000 development, use of the ImageList property is
recommended. To
use this option you should set the global variable in the initialization
section of one of your units, or in the project dpr file before any forms
are created. |
|
TabcCheckListBox |
Added properties to change the painting of the selected
item.
property ShowSelectedItem: Boolean; default True;
highlights the text and background color of selected items.
property ShowFocusRect: Boolean; default True; draws a
focus rect around the selected item.
Setting both properties to false allows selected items to
be drawn the same as unselected items. |
|
TabcDBDateTimePicker |
Changed default display formatting to make a zero datetime
blank, instead of "12/30/1899".
Changed the default dropdown behaviour to make a zero date
calendar page to Today, instead of December 1899.
Added the DefaultDate property to specify a different
calendar default to show for zero dates. (A DefaultDate value of zero is
interpreted as Today).
Added several new properties to allow custom display
formatting of dates and times:
The DateFormatString and DateFormatZero properties are
used to define custom display formats for non-zero and zero values.
When DateFormatString is empty, the default dfShort or
dfLong or dtkTime format is set, using the Delphi date and time formatting
variables in SysUtils.
When DateFormatZero is empty, zero dates are displayed as
blank.
The OnFormatDate event can also be used to inspect the
display value and to supply a custom formatting string.
Refer to the latest Microsoft SDK documentation for
complete description of formatting strings. The following is an extract
from the SDK:
Date and time format elements will be replaced by the actual date and time. They are defined by the following groups of characters:
"d" The one- or two-digit day.
"dd" The two-digit day. Single-digit day values are preceded by a zero.
"ddd" The three-character weekday abbreviation.
"dddd" The full weekday name.
"h" The one- or two-digit hour in 12-hour format.
"hh" The two-digit hour in 12-hour format. Single-digit values are preceded by a zero.
"H" The one- or two-digit hour in 24-hour format.
"HH" The two-digit hour in 24-hour format. Single-digit values are preceded by a zero.
"m" The one- or two-digit minute.
"mm" The two-digit minute. Single-digit values are preceded by a zero.
"M" The one- or two-digit month number.
"MM" The two-digit month number. Single-digit values are preceded by a zero.
"MMM" The three-character month abbreviation.
"MMMM" The full month name.
"t" The one-letter AM/PM abbreviation (that is, AM is displayed as "A").
"tt" The two-letter AM/PM abbreviation (that is, AM is displayed as "AM").
"yy" The last two digits of the year (that is, 1996 would be displayed as "96").
"yyyy" The full year (that is, 1996 would be displayed as "1996").
To make the information more readable, you can add body text to the format string by enclosing it in single quotes. Spaces and punctuation marks do not need to be quoted.
Note: Nonformat characters that are not delimited by single quotes will result in unpredictable display.
For example, to display the current date with the format "Today is: 04:22:31 Tuesday Mar 23, 1996", the format string is "'Today is: 'hh':'m':'s dddd MMM dd', 'yyyy". To include a single quote in your body text, use two consecutive single quotes. For example, "'Don''t forget' MMM dd',' yyyy" produces output that looks like: Don't forget Mar 23, 1996. It is not necessary to use quotes with the comma, so "'Don''t forget' MMM dd, yyyy" is also valid, and produces the same output.
|
| TabcButtonList |
Added a
new event OnUnselectItem. This occurs when the selected item
changes, immediately before the OnSelectItem event; and it
also occurs when the SelectedItem is cleared.
Enhanced
the behaviour of the arrow keys. They now activate an item
(i.e. raised, like mouseover) instead of selecting it
(lowered). They now wrap in a loop from the last item to the
first item.
Added
Enter and Space key handling to click the active item. This
causes the active item to be selected. The OnSelectItem and
OnClick events will occur.
Added
Esc key handling to clear the selected item (when
ablKeepSelected is included in Options). The OnUnselectItem
event occurs. |
|
Bugs
Fixed in Release 5.3.1:
|
| Component |
Description |
|
Dataset Adapter Classes |
Modified code that selects a
dataset adapter class to support descendant dataset classes as well as the
registered dataset class. |
|
TabcDBTreeView |
Fixed bug in
Options.adtClearOnCollapse - this option value did not function at all. |
|
TabcBusy |
Fixed bug causing form sizing errors
with large text messages and using the autosize feature. |
|
TabcnpInsert |
Fixed bug causing the button not
to be disabled when the dataset state changes to dsInsert (i.e. when the
button is clicked). |
|
TabcnpIndexCombo |
Fixed bug causing an access
violation under some conditions when populating the index items, and when
switching between datasets. |
|
TabcQuadSplit and other splitter components |
Fixed bug causing proportional
sizing (SplitHPercent, SplitHScaled; and SplitVPercent, SplitVScaled) to
fail under some conditions when a form is loaded. |
|
TabcMenuToolbar |
Fixed bugs in key processing for
arrow keys and Alt+arrow keys, also for selecting MDI children from the
Window menu. Improved response of F1 key. Improved
speed when loading. Changed
drawing for maximized MDI children to not show the child system menu when
the child BorderIcons does not include biSystemMenu. Also show the correct
icon for different child forms. Changed
Hints to show on disabled menu items. Fixed
bug moving mouse over disabled menu items. Fixed
bug where MainMenu property could not be changed at runtime. Fixed
bug when the menu is on a docked form or a subform, where arrow key or
mouse move does not automatically drop down the next menu. |
|
TabcMainMenu |
Changed menu updating, to automatically update
the abcMenuToolbar when menu items are changed, either by setting menu
item properties or links to Actions. |
|
TabcPopupMenu and TabcMenuToolbar |
Changed display of submenus to call
Action.Update for any linked menu item Actions before the submenu is
shown. |
|
TabcPopupMenu |
Fixed bug causing an access violation when a
toolbar button's popup menu is showing when the form is closed with a
mouse click. |
|
TabcMenuImages |
Fixed bug when adding items at runtime. |
|
TabcToolbar |
Added published Font and ParentFont properties.
These properties are not used by the toolbar, but can be used by child
controls. |
|
TabcButtonList |
Fixed bug where FrameBottomColor and
FrameTopColor did not repaint when changed. |
|
TabcButtonBar |
Fixed bug changing ActivePage while form
containing the ButtonBar is showing. |
|
TabcButtonPage |
Fixed bug not hiding page when
Page.ButtonVisible is set to false. |
|
TabcPage used in TabcAnimationFrame |
Fixed bug where setting FormLoaded to False
recreates the handle of the abcPage; causing autocreate option to fail to
create a form the next time the page is shown. |
|
TabcRichEdit |
Fixed bug causing word wrapping not to adjust
when the control is resized by small increments. |
Resource
leaks |
Fixed some small resource leaks in TabcSplash,
TabcFontComboBox and TabcLauncher. |
TabcTransitionEffect
type |
The effect value "atfShapeStarBust"
has been renamed as "atfShapeStarBurst". |
All
Setup Programs |
Our setup programs used a WISE Installer script
function 'If Module Loaded in Memory' which is incompatible with the
notebook touchpad manager program "SynTpEnh.exe", used on Dell
Inspirion and possibly some other notebook computers. The setup scripts
have been modified to work around this problem, by removing this check.
You must make sure that Delphi or C++ Builder are not running when you run
the setup programs, otherwise the setup will not complete. |
Release
5.3.0 |
This release was
replaced with 5.3.1, due to a version labelling error on
some files. |
|
Enhanced
Components in Release 5.2.2:
|
| Component |
Description |
| TabcButtonBar |
Added
a new value abbShowFocus to the Options property.
Set
this option to show a focus rectangle around the button on
the active page, whenever the ButtonBar or a child has
focus.
This
is not a default value; the default options are [abbAnimate,
abbHotTrack, abbDragTrack, abbInPlaceEdit]. |
| TabcButtonList |
Added a
new event OnUnselectItem. This occurs when the selected item
changes, immediately before the OnSelectItem event; and it
also occurs when the SelectedItem is cleared.
Enhanced
the behaviour of the arrow keys. They now activate an item
(i.e. raised, like mouseover) instead of selecting it
(lowered). They now wrap in a loop from the last item to the
first item.
Added
Enter and Space key handling to click the active item. This
causes the active item to be selected. The OnSelectItem and
OnClick events will occur.
Added
Esc key handling to clear the selected item (when
ablKeepSelected is included in Options). The OnUnselectItem
event occurs. |
|
Bugs
Fixed in Release 5.2.2:
|
| Component |
Description |
| TabcButtonBar |
Fixed
bug causing control to process Ctrl+Tab keystrokes when it
is not focused. |
| TabcButtonList |
Fixed
bug causing OnClick event to occur twice when an item is
clicked. |
| TabcMenuToolbar |
Fixed
bug causing errors changing the BarSize property at
designtime. |
|
Enhanced
Components in Release 5.2.1:
|
| Component |
Description |
| TabcBackground,
TabcMDIBackground, and other components using TabcGradient
object |
Added
several gradient drawing options for better performance,
including support for windows API GradientFill on Windows 98
and 2000. This is controlled by two new properties,
DrawMethod and DrawBuffered.
Property
DrawMethod: TabcGradientDrawMethod = (agdDraw, agdStretch,
agdWinAPI). Value agdDraw implements drawing using Windows
graphics commands. Value agdStretch uses the agdDraw method
internally and draws using StretchBlt from a small internal
buffer. agdWinAPI draws using the windows GradientFill
command. If the platform is not Windows 98 or 2000, this
defaults to the agdDraw method.
The
default value is agdDraw.
Property
DrawBuffered: Boolean. If true, the gradient fill is cached
in an internal buffer. Initial drawing or resizing the
gradient fill is slower. Redrawing at the same size is often
faster and can reduce screen flicker. If you are using
DrawDirections ddRLDiagonal or ddCenter and the agdDraw
method, it is recommended you set DrawBuffered to true. This
property is always true for DrawMethod agdStretch.
The
default value is False.
Performance
Optimisation: We found in testing that performance depended
on the operating system, video card, color depth, size of
the gradient fill, the draw direction and draw steps. In
most cases DrawMethod=agdDraw and DrawBuffered=False gives
best performance, especially using draw direction
ddVertical. When using DrawMethod=agdDraw, the draw
directions ddCenter and ddRLDiagonal will cause the screen
to flicker unless DrawBuffered=True. |
| TabcWelcomeTips |
Added
modeless display and progress bar options to this dialog.
The
default display of the dialog is now modeless, so it can
display while the application main form continues to load.
The dialog can be controlled by two new properties:
StayOnTop: boolean (defaults to True), and ShowModal:
boolean (defaults to False).
Added
an optional progress bar and message at the bottom of the
Welcome dialog, to use with the modeless display. To display
the progress bar, set the ShowProgress property to True. The
progress message is set by the CaptionProgress property. To
adjust the divisions of the progress bar, use the
ProgressMax, ProgressMin, ProgressPos and ProgressStep
properties. The following public methods can also be used to
adjust the progress position and message while the dialog is
showing: procedure StepBy(Delta: integer); procedure StepIt;
procedure StepByMsg(Delta: integer; Msg: string); procedure
StepItMsg(Delta: integer; Msg: string);
Note
the progress bar cannot be adjusted when ShowModal=True. |
|
Bugs
Fixed in Release 5.2.1:
|
| Component |
Description |
| TabcBackground,
TabcMDIBackground, and other components using TabcGradient
object |
Redesigned
background drawing to work around performance problems and
errors with some display settings and video cards
(particularly Matrox g200). |
| TabcWelcomeTips |
Fixed
bug causing "File not found" error messages to
appear when showing the Welcome dialog. |
|
Enhanced
Components in Release 5.2.0:
|
| Component |
Description |
| TabcAnimationFrame
pages - TabcPage component |
Added a
new FormActions option, afaShowExisting to allow loading
forms automatically created by Delphi. This means the
FormName property of the panel will be synchronized with the
form unit variable of the same name. Added events to modify
the behaviour when the Form or FormName properties are
changed. The OnCloseQuery event of the loaded form occurs
before the form changes. A new OnFormChanging event is
called, allowing you to cancel the change. A new
OnFormChange event occurs after the form changes. Changed
the transition behaviour to show the transition when the
form changes. |
| TabcBackground
and TabcMDIBackground |
Optimised
gradient painting performance using TabcGradient object.
Changed the MDIBackground painting to allow scroll bars on
the MDI main form, using the new ShowScrollBars property. |
| TabcBusy |
Added a
WordWrap property to allow Message1 and Message2 text to
wrap within the busy dialog box. The DlgWidth can be used to
specify width, or the width can be autosized to the AVI
width. |
| TabcCheckListBox |
Added a
new public property AsInteger to allow the checked state of
all items to be set or read as an integer value. The integer
is converted to/from binary digits where 1=checked and
0=unchecked. |
| TabcFormPanel |
Added a
new FormActions option, afaShowExisting to allow loading
forms automatically created by Delphi. This means the
FormName property of the panel will be synchronized with the
form unit variable of the same name. Added events to modify
the behaviour when the Form or FormName properties are
changed. The OnCloseQuery event of the loaded form occurs
before the form changes. A new OnChanging event is called,
allowing you to cancel the change. A new OnChange event
occurs after the form changes. |
| TabcMDITiledImage |
Changed
painting to allow scroll bars on the MDI main form, using
the new ShowScrollBars property. |
| TabcMenuOptions
in abc menu components |
Added a
MinWidth property to allow a minimum width for a menu. |
| TabcMenuToolbar |
Added a
published BarSize property of type TabcMenuToolbarSize =
(amsOffice, amsDelphi); The default value is amsOffice which
creates smaller buttons and toolbar. The amsDelphi option
creates slightly larger buttons and toolbar. |
| TabcTrayIcon |
Added a
public method ShowForm to show the form owning the
component. This should be used instead of TForm.Show when
the form can be hidden on minimize. |
| TabcSingleInstance |
Changed
the way this component terminates applications. Previously
the component always called the Halt procedure, which has
been found to cause errors unloading DLLs. Added a
TerminateBy property to allow the method of program
termination to change depending on your requirements.
TabcTerminateMethod = (atmAppTerminate, atmExitProcess,
atmHalt, atmTerminateProcess); The default uses
Application.Terminate. Added optional detection of multiple
instances of an application, for instance if you want to
allow 2 or 3 instances of the application to run. To use
this feature set the MultipleInstances property to True and
use the OnPreviousInstance event to decide whether to
terminate this instance. OnPreviousInstance uses the
following event type: TabcHaltEvent = procedure (Sender:
TObject; PreviousInstances: Integer; var HaltThisInstance:
Boolean) of object; |
| TabcVersionLabel |
Modified
the behaviour of the TabStop property. If this is set to
zero, no tab expansion is used in the label formatting. |
| TabcWelcomeTips |
Added a
published property SharedTipFileName: TFileName. This can be
used to specify a shared file in a LAN environment, so that
Tip text can be stored and updated in one place, while each
user maintains their own settings for the tip sequence
number. The shared file is expected to be in ini file
format, containing a [TIP TEXT] section, with items Tip1=,
Tip2=, etc. |
| interface
change in units abcexctl and abctileb |
Moved
the declaration of TabcDrawDirection to unit abctileb. |
| abcutilg |
Added
function abcScreenPixelFormat: TPixelFormat; this returns
the monitor resolution as type TPixelFormat. |
| abcutilg |
Added a
global variable ABC_TRANS_COLOR = RGB(255,128,255) (Pink)
This variable is used for masking images and text in
TabcEffectsImage and other components. You can set this
variable to a different value in your project if you need to
use this color. |
| abcutilw |
Added
function abcNetworkIsConnected: boolean. Returns true if
Windows API can find any network connection. |
|
Bugs
Fixed in Release 5.2.0:
|
| Component |
Description |
| TabcAnimationFrame |
Fixed
bug causing animation to fail with an exception when the
AnimationSteps = 0. |
| TabcButtonBar |
Fixed a
bug activating a page when the active page is removed from
the button bar. |
| TabcButtonList
and TabcButtonBar |
Changed
the list activation method when an accelerator (Alt+) key is
selected. |
| TabcCheckListBox |
Fixed a
rare bug causing recursion when the checked status of an
item is changed during the OnCheck event. |
| TabcDBEditLabel |
Fixed
bug causing Delphi IDE to crash when Enabled is set to
False. |
| TabcDBEditWin |
Changed
the focus method used to select the first edit control. |
| TabcDirectoryDialog |
Changed
internal windows API calls for network detection. Added
labels to the dialog form for translation requirements. |
| TabcEffectsImage |
Changed
accelerator key handling to ensure Alt key is also pressed. |
| TabcFormNotebook,
TabcFormTabbedNotebook |
Fixed a
bug causing an access violation while destroying the form
containing the notebook. |
| TabcMenuToolbar |
Fixed a
bug causing a bitmap and icon handle resource leak when
maximizing MDI child forms. |
| TabcNavPanel,
TabcNavToolbar |
Added
code to remove datasource, datafield and active form change
notifications when the application is terminating. |
| TabcPageSetupDialog |
Added a
workaround for a bug in Windows 95, setting the hide network
button option. |
| TabcPicBtn,
TabcPicSpeedBtn |
Added
code to stop internal object references when destroying the
button. This bug caused an access violation when shutting
down some programs. |
| TabcPictureGroup |
Changed
accelerator key handling to ensure Alt key is also pressed. |
| TabcShapeButton |
Changed
accelerator key handling to ensure Alt key is also pressed. |
| ABC
splitter controls |
Fixed a
bug when a second splitter is placed inside the first. This
caused application load errors (division by zero) and the
Delphi 5 IDE to crash. |
| TabcToolbarButton |
Changed
accelerator key handling to ensure Alt key is also pressed. |
| TabcTrayIcon |
Fixed
icon sizing bug causing component to fail in Delphi 4. |
| ABC
forms in Delphi 3 |
Some
Delphi 3 forms were saved with Delphi 5 properties causing
errors when loading the form. Forms have now been tested and
corrected for Delphi 3. |
|
New
Components in Release 5.1.0:
|
| Component |
Description |
| TabcDBDateTimePicker |
This
is a data bound version of the Windows/Delphi date time
picker. It adds DataSource, DataField and DataFieldCheckBox
properties. To use the control, connect the DataSource and
then connect the DataField to a DateTime field in your
datasource. The Kind property determines whether a date or
time is displayed. The DataFieldCheckbox property is an
optional connection to a boolean field on the datasource. If
this field is connected the control displays a checkbox to
select a valid date. See the Demo\DBDate directory for a
sample project. |
| TabcDBMonthCalendar |
This
is a data bound version of the Windows/Delphi month
calendar. It adds DataSource, DataField and DataFieldEndDate
properties. To use the control, connect the DataSource and
then connect the DataField to a DateTime field in your
datasource. If the DataFieldEndDate is connected, the
calendar allows range selection instead of a single date. See
the Demo\DBDate directory for a sample project. |
| TabcTrayIcon |
This
is a component to link an icon, form, popup menu and tooltip
hint to the Windows system tray. It lets you hide the
application from the task bar and hide the form when
minimized. The icon can be animated using an imagelist. On
Windows 95/98 the application can be hidden from the
Ctrl+Alt+Del process list. If IE4 is installed the
application can detect TaskBarCreated messages and recreate
its icon. If IE4 is not installed the component can monitor
the taskbar using a timer and recreate its icon, for
instance if a new user logs on. This component can be used
in a service application on Windows NT. See the Demo\Tray
directory for sample projects for normal and service
applications. |
| TabcRichEffectsImage |
This
is an extension of the TabcEffectsImage. It allows you to
display a rich text multiline caption on top of the image. |
| TabcNavFormLink |
This
component is used with the DB Navigator components. It is
used to register each form on which you want to detect
active datasource or active field changes. This replaces the
need to code the NavPanelNotifier.AddForm and RemoveForm
methods in your application. Forms which already contain an
abcNavPanel or abcNavToolbar are now registered
automatically and do not need this component. |
| New
Dataset Adapters |
The
dataset adapter layer has been updated to add third party
dataset adapters for DBISAM, ASTA, CodeBase Components.
These adapters and sample projects are found in the
Adapters\3rdParty directories. The Apollo dataset adapter
has been updated for Apollo 5.02 release. |
|
Enhanced
Components in Release 5.1.0:
|
| Component |
Description |
| TabcDBTreeView |
Added
a new public method SyncNodeToSource(Dataset: TDataset)
to synchronize the tree view selected item with scrolling in
a dataset. This method can be called from the OnScroll event
of the dataset.
Added
new public methods to synchronize data updates with tree
view display. The new methods are:
function
SelectNodeContaining(aBookmark: TBookmarkStr; aTreeLevel:
integer): Boolean;
function LocateNodeWithBookmark(aBookmark: TBookmarkStr;
aTreeLevel: integer): TTreeNode;
function AddNodeWithBookmark(aBookmark: TBookmarkStr;
aTreeLevel: integer): TTreeNode;
function UpdateNodeWithBookmark(oldBookmark, newBookmark:
TBookmarkStr; aTreeLevel: integer): Boolean;
function DeleteNodeWithBookmark(aBookmark: TBookmarkStr;
aTreeLevel: integer): Boolean;
Added
two new demo programs to illustrate methods of synchronizing
tree view data with table updates. These are in the \demo\dbtree
directory. There are two demos - one for Paradox and one for
other databases.
Note
these methods do not seem to work with Paradox tables,
because the Paradox table bookmarks change after any
add/change/delete on the table. For Paradox, the tree level
must be reloaded after update. See the demo programs for
details. |
| TabcEffectsImage |
Added
a Caption, Font and related properties to
display text on top of the image. The caption can be
displayed in various raised, embossed or shadowed styles
using the CaptionStyle property.
The Transparent
property has been enhanced to support partialy transparent
images, using the bottom left pixel of the picture to
determine the transparent color.
New
public properties and methods have been added to allow you
to change the EffectSelection list elements at runtime:
procedure
AddSelectedEffect(Effect: TabcTransitionEffect);
procedure RemoveSelectedEffect(Effect:
TabcTransitionEffect);
function IsEffectSelected(Effect: TabcTransitionEffect):
Boolean;
property EffectSelCount: Integer;
property EffectSel[Index: Integer]: TabcTransitionEffect; |
| TabcButtonList |
Added
new actions for the user to copy and delete items. ablAllowDragCopy
value in Options lets the user copy items on drag drop when
the Ctrl key is pressed when dropping. ablAllowDelete
and ablConfirmDelete values in Options let the user
delete selected items using the delete key. Associated with
these actions are several new events: OnCopyItem and OnDeleteItem
occur before the action and allow the action to be
cancelled. AfterCopyItem occurs once a new item has
been created allowing you to modify the copy.
Added
a new event OnDblClickItem to detect double clicks on
items in the list. |
| TabcNavPanel
and TabcNavToolbar |
Changed
the AutoField and AutoDatasource properties
behaviour. Previously active field changes would only be
detected if AutoDatasource and AutoField were both set. Now
it is possible to fix the datasource setting AutoDatasource
= false and still receive field change notifications using
AutoField = true.
Changed
the registration of forms with the NavPanelNotifier so that
forms containing a NavPanel or NavToolbar are automatically
registered. This default can be turned off using the new RegisterForm
property. |
| TabcnpFilterExpression,
TabcDBFilter - Filter Expression Dialogs |
Modified
filter expression dialogs to append an asterisk to the
search text when using partial compare on a string field.
This is required by the BDE when wanting to filter all
records starting with a value. |
| TabcAnimationFrame
pages - TabcPage component |
Changed
the behaviour on page change of the animation frame to
reduce resource use. The window handle of the abcPage is now
destroyed after changing pages. The afaDestroy option in the
FormActions property now causes an embedded form to be
destroyed immediately after the page change, instead of when
the abcPage is destroyed. |
| TabcRichEdit |
Moved
the string constant declarations for the popup menu items to
resourcestrings in the abcconst unit to allow translation.
The popup editor form can be translated using form
inheritance and registering the descendant class. |
|
Bugs
Fixed in Release 5.1.0:
|
| Component |
Description |
| TabcPictureGroup |
Removed
error causing access violation when Picture property is
empty and PicAlignment is right aligned. |
| TabcBusy |
Fixed
bug causing a temporary file to be created and not deleted
each time the progress dialog is shown when the AVI resource
is embedded in the component data.
Fixed
a bug causing the DlgLeft property not to be set. |
| TabcButtonList,
TabcButtonBar, TabcButtonPage |
Fixed
bug in TabcButtonBar when the page index changes rapidly in
response to fast clicking on buttons. This error caused
buttons and pages to temporarily disappear from the screen.
Now subsequent page index changes are ignored until all
controls have been updated to reflect the first
change. Modified handling of accelerator characters to
activate the page containing the shortcut when an Alt+ key
is pressed for a button list item.
Fixed
bug aligning child controls on a TButtonPage using their
anchors property. This caused some controls to disappear at
runtime.
Removed
a bug in TabcButtonList setting its Align property to alNone
when not in a TabcButtonBar. |
| all
ABC Menu components |
Fixed a
bug causing menus to size incorrectly on Windows 2000.
Fixed
a bug causing menu sizing problems with invisible items in a
menu.
Corrected
the Fullsize property default to allow menu toolbars to be
less than full width (note - this property is ignored on MDI
menus, due to the right aligned MDI buttons). |
| TabcPopupMenu
and TabcSingleInstance |
Fixed
bug in TabcPopupMenu that caused a GPF (Runtime error 216)
when terminating a second instance of the application using
TabcSingleInstance. This error was reported in Delphi
3. |
| TabcEffectsImage |
Bug
fixed that causes painting problems or IDE crash when
changing the picture data. This applies to Delphi 3
only, problem did not occur on other versions. |
| TabcShapeButton |
Bug
fixed that caused a painting problem when two buttons share
the same ImageList and one of the buttons is disabled. |
| TabcToggleBtn |
Fixed
bug causing HintUp and HintDown to display incorrectly when
using a group of buttons. |
| TabcCustomPicSpeedBtn
and descendants |
Changed
button painting for the down pattern when used in a group. |
| TabcHelpManager |
Changed
the Edit method to ensure a help context is edited. Changed
the operation of the ReadOnly property so that the read only
help display can always be used and the Edit method can then
be called to display in edit mode. |
| TabcEditLabel |
Fixed a
bug in the Enabled property causing the Delphi 5 IDE to
crash when the value is changed. |
| TabcDirectoryDialog |
Fixed a
bug causing the Network button not to display a network
connection dialog. |
| C++
Builder Compiles |
Removed
a code declaration for the abcDegToRad constant that caused
compiler warnings and problems using precompiled headers. |
| TabcToolbarButton |
Fixed a
bug causing an access violation if the DropDownMenu property
of the button changes during the click event (e.g. if the
toolbar is destroyed during the click event). |
|
Enhanced
Components in Release 5.0.3:
|
| Component |
Description |
| User
Guide Document |
The
user guide has been revised and expanded to match the latest
product features. New 150 page PDF document - this manual is
now published in Adobe Acrobat PDF format, replacing the RTF
version. You will need a copy of Adobe Acrobat Reader
to view the document. It is formatted for easy navigation
and printing. |
| New
Demo Programs |
\ANIMFRAM contains a new demo
illustrating page transition effects and form embedding in a
TabcAnimationFrame.
\BTNBAR
shows how to add pages, button lists and items to a
TabcButtonBar at runtime.
\DSAPPEXC
shows how to use the TabcDSAppException component, use the
Delphi Interbase components and ABC Dataset Adapter class.
\MDITABS
demonstrates the TabcMDITabs component.
\TITLEGRD
demonstrates the TabcTitleGradient component.
|
| Transition
Effects Property and Component Editor |
This
has been modified for easier use and registered with all
components using TabcTransition, in addition to the
EffectsImage components. |
| Transition
Effects Property and Component Editor |
This
has been modified for easier use and registered with all
components using TabcTransition (AnimationFrame+Page,
FormPanel), in addition to the EffectsImage components. |
| Delphi
4 - Update Pack 3 |
We
have updated our Delphi build environment to use only the
latest Update Pack 3 and menu addon files. (affects Delphi 4
users only). |
|
Bugs
Fixed in Release 5.0.3:
|
| Component |
Description |
| Resource
allocation errors |
Removed
several minor resource allocation / memory leak problems
affecting the following units: abcbar, abcedge, abcedtdr,
abcedtop, abcedtsv, abclabel, abcmem, abcmopts, abcpage,
abcrched, abcshapf, abcspla, abctileb, abctimag, abcutil. |
| TabcAnimationFrame,
TabcPage |
Fixed
IDE bug causing the project to be modified when opening a
form containing these components. |
| TabcButtonBar,
TabcButtonPage |
Fixed
button click error while using the inplace editor on another
button caption. |
| TabcButtonList |
Fixed
bug causing an access violation when TabcButtonList is
deleted in the form designer. Fixed edit method to
scroll item into view before editing. |
| TabcDBAppException,
TabcDSAppException |
Fixed
inheritance error causing exception message/log events to
occur twice. |
| TabcRotLabel |
Fixed
bounds adjustment bug causing label position to move when
using the AutoSize and RotateCenter properties. |
| TabcTitleGradient |
Fixed
window caption painting errors on MDI main forms and when
the enabled property was false. |
| Transition
effect selection list editor |
Fixed
error where the remove and remove all buttons added
duplicates to the available items list. |
| Attached
Label components |
Fixed
error causing attached labels not to show when components
are first created in the IDE. |
|
Enhanced
Components in Release 5.0.2:
|
| Component |
Description |
| TabcDBRecordCount |
Added
caption painting design change for use in a
DBControlGrid. This label can now be inserted in a
control grid to show the record number of each cell in the
grid. |
| TabcDBCurrencyLabel |