Navigation:  Updates >

Update to Version 1.5

Print this Topic    Previous pageReturn to chapter overviewNext page

New classes

bCellToolTipEvent
bNameArray

New methods

bArrayServer
Children
ClearOrderScope()
ClearRelation()
OrderBottomScope
OrderScope()
OrderTopScope
PropertyDelete()
PropertyGet()
PropertyPut()
RecordRestore()
RecordSave()
Relation()
SetRelation()
SetSelectiveRelation()
bBrowser
AdjustAutoWidthColumn()
AdjustCaptionHeight()
AdjustFooterHeight()
AutoCaptionHeight
AutoFooterHeight
AutoWidthColumn
CellToolTip()
ColumnVariableHeightCount
ColumnVariableHeightList
FirstRecNo
FormatColumns()
GetAutoWidthColumn()
GetColumnEditMode()
GetInfoHeight()
GetSelectorBackground()
GetSelectorColorSpec()
GetSelectorForeground()
GetSelectorStateBackground()
GetSelectorStateForeground()
GetVisiblePosFromEoF()
GetVisiblePosFromRecNo()
GetVisiblePosFromRowNo()
GoTo()
InDrag
InitRecordScope()
LastRecNo
LastVisibleRecNo
RecordRelease()
RemoveColumnAll()
SelectionCellCount
SelectorColorCondition
ServerType
SetInfoHeight()
SetSelectorBackground()
SetSelectorForeground()
ToolTipMode
VisibleRecCount
bCell
RecNo
bDataColumn
AutoEdit
CalculateHeightOfCaption
CalculateHeightOfFooter
CaptionPressed
FieldMode
FooterPressed
IsSuspendEmptyValues
ValueTransformList
WidthMax
WidthMin
bDBServer
Children
GoBottomBlock
GoTopBlock
PropertyDelete()
PropertyGet()
PropertyPut()
RecordRestore()
RecordSave()
ResetNotification()
SkipBlock
SuspendNotification()
bItemList
Put()

Changes at methods and accesses

bArrayServer

New supported argument:

<lLast>

New supported <iInfoType>:

DBOI_NAME
DBOI_SCOPEBOTTOM
DBOI_SCOPETOP
bBrowser

New supported mode:

#WhenFocusChange

New supported argument:

<iStayInterval>

New supported info values:

Text
Icon
Bitmap

New supported properties:

#BitmapStretch
#BitmapTransparentColor
#ColumnClass
#DataPointer
#DefaultButtonManage
#FooterPointer
#MouseWheelMode
#SelectorPointer

New supported mode:

#LastRec

New supported mode:

#Permanent

New supported info values:

Text
Icon
Bitmap

New supported argument:

<auFormat>

New supported display type:

#Check

bCellDragEvent

New supported modes:

BCDM_DRAGENTER
BCDM_DRAGLEAVE
bDataColumn

New supported properties:

#EditClass

Support of codeblocks

 

New supported display types:

#Check
#PushButton
bViewStyle

New supported alignments:

BALIGN_TOP
BALIGN_BOTTOM
BALIGN_VCENTER

New functions

bRGB()

Changed samples

bSample - DragDrop.aef
Support of Drag&Drop inside the choice list.
bSample - Edit.aef
The following accesses were integrated into the sample:
bGrid:BackgroundList
bDataColumn:ValueTransformList
bSample Images.aef
Optimized access to the bitmaps.

Other changes and extensions

bBrowser and moving columns
When moving a column with the mouse, the caption of the column is drawn in pressed state (only with BGRID_CONVEX).
bBrowser and column caption
If a column caption can be not completely shown, then ellipsis at the end are shown.
bBrowser and edit
If a cell edit is start with mouse doubleclick or with pressing the RETURN key and the edit control is a CheckBox, then the edit value automatically negated. This means that if the edit value is TRUE it is automatically toggled to FALSE and if the edit value is FALSE it is automatically toggled to TRUE.
bBrowser:EditCreate()
Now edit controls are supported also which are inherited from the classes
SingleLineEdit,
MultiLineEdit and
RichEdit
bBrowser:Cut(), bBrowser:Paste()
Cut & Paste are supported during a cell edit.
bBrowser and Bitmaps
The support of bitmaps was improved. Bitmaps are drawn now transparency. This means that the background colors remain from color conditions and colored grids. In addition bitmaps can be stretched (see also bBrowser:PropertyPut()).
bBrowser and multiple selection
The multiple selection was optimized for large databases. So far it was problematic, if in a database with many records all records or a large range were selected. This action could need much time. This problem is now solved.
bBrowser and Seek
With a Seek in the linked server the bBrowser positions the found record now into the center of the data area.
bDataColumn:Init()
If a column is created with the FieldMode #Access or #AccessAssign and no field in the data server exists to the access, a HyperLabel is created for the column automatically now. Otherwise the HyperLabel of the field is used.
bDataColumn and column caption
If in the column no own caption is defined, the value from

DataServer:FieldSpec(...):HyperLabel:Caption

is used, if this is defined.

Selective Relation and speed
The speed of selective relations was improved with large data bases.
bBrowser and ADS
Improved support of the ADS RDD "ADSADT", if the record recycling is active (as deleted marked records are reused with an append).

Error Messages

bBrowser and change column width with the mouse
With changing the column width with the mouse, in the Windows taskbar a empty window was always shown. This problem is now solved.
bBrowser:TabKeyMode
With the bBrowser:TabKeyMode
#MoveToEditableCell or
#MoveToSelectableCell

the focus was not moved correctly by the bBrowser to the next and/or previous control.

bBrowser:TabKeyMode
The TabKeyMode could cause in Windows 2000 programm crashes.
bBrowser:TabKeyMode and bBrowser:AutoSkip
With the bBrowser:TabKeyMode
#MoveToEditableCell oder
#MoveToSelectableCell

in combination with bBrowser:AutoSkip=TRUE the focus was moved to the next control, if the table cursor were on the last column and the TAB key were pressed. This behavior is wrong. The focus may be moved only to the next control, if bBrowser:AutoSkip contains the value FALSE or the table cursor is on the last record and bBrowser:AutoAppend is not active.
 
For all, which used this failure of the bBrowser, now the possibility exists to assign the symbol value #WhenFocusChange to bBrowser:AutoSkip. With this new value the bBrowser behaves as before.

bBrowser, multiple selection and right mouse button click
If the multiple selection in the bBrowser was active and the right mouse button was pressed to show a context menu, then the cell/row under the mouse was not selected. This problem is now solved.
bBrowser:SelectionRowCount
The access bBrowser:SelectionRowCount returned the value 1, if no records existed.
bBrowser:Refresh()
With bBrowser:SelectionMode #Simple it could arise, that after the call of bBrowser:Refresh() several records were selected.
bBrowser:Recalculate()
With ScrollbarMode #Auto the scrollbars was not always hidden, if all data within the visible area could be shown.
bBrowser:CaptionArea,
bBrowser:DataArea,
bBrowser:DynamicDataArea,
bBrowser:FooterArea,
bBrowser:SelectorArea
The accesses has always returned an area whose width and height at 1 pixels were too large.
bBrowser:GridInEmptyArea
If bBrowser:GridInEmptyArea is TRUE, the color conditions of the bBrowser or a defined BackgroundList in the Grid of the bBrowser are used when drawing in the empty area of the bBrowser.
bBrowser and bGrid:BackgroundList
If a bGrid:BackgroundList is defined in the bBrowser or in an opened column, this is shown in the grid now if the data server does not contain any records.
bBrowser and delete record
Now it is scrolled automatically toward file beginning (SetDeleted(TRUE)), if the last record is visible however not the first record.
bBrowser and delete records in detail server of a selective relation
If in the detail server of a selective relation a record is deleted, now the vertical scrollbar is updated also so far as the deleted records are not visible (SetDeleted(TRUE)).
bBrowser and selective Relation without result
If in the detail server no result were contained of a selective relation and in the detail server the arrow up key were pressed, then the detail server was wrongly positioned.
bBrowser and DBServer:OrderScope
If in the DBServer a OrderScope was set and no records existed to the OrderScope, then an empty record was shown in the bBrowser.
bBrowser and filter
If in the server a filter were active and the current record were no more contained in the filter by a change of field value, the bBrowser was not correctly updated. Additionally it could occur with following record movements that the bBrowser did not react any longer.
bBrowser and ADS 6.11
The RDD of ADS 6.11 does not support the access DBServer:OrderKeyNo as it did in previous versions. The speed problem (>200% more slowly) occurs, if SetDeleted() is TRUE. bBrowser uses the access DBServer:OrderKeyNo to position the slider in the vertical scrollbar. The speed problem affects thus directly to the speed of the bBrowser. The problem can be solved if around the call of DBServer:OrderKeyNo the following code is implemented.

 

oServer:SuspendNotification()

lDeletedOld := SetDeleted(FALSE)

oServer:Skip(0)

 

iKeyNo := oServer:OrderKeyNo

 

SetDeleted(lDeletedOld)

oServer:ResetNotification()

 
This workaround is now implemented in the bBrowser.

bDataColumn:ViewValueAs=#Abstract
So far the callback method DrawValue() was not called in the Owner, if the column value was empty (independent of the setting bDataColumn:SuspendEmptyValue.) Now the callback method is also called if the column value is empty and bDataColumn:SuspendEmptyValue contains the value FALSE.
bComboEdit
Outside of the bBrowser the control bComboEdit did not work correctly, if in the opened choice dialog a value were accepted by pressing the ENTER key or by a mouse double click. In this case the choice dialog was opened automatically again.
bDBServer:SuspendNotification()
bDBServer:ResetNotification()
The methods bDBServer:SuspendNotification() and bDBServer:ResetNotification() are also called in the servers of the relations.
bArrayServer:FieldPos(),
bArrayServer:FieldGet(),
bArrayServer:FieldPut()
If field names were specified as string, it could occur that these were not found, especially if mixed case was used. This problem is now solved.
bArrayServer:CreateOrder()
The definition of a FOR condition caused an error.
bArrayServer and Sort Orders
During the processing of sort orders (CreateOrder(), Append(), Delete(), OrderInfo()) errors in the sort expression and/or sort condition are intercepted now. The methods do not break any more but create an error object.
bArrayServer:Pack()
An existing order was not correctly processed with the method bArrayServer:Pack().

 


Page url: http://www.YOURSERVER.com/index.html?update_version_1_5.htm