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

Seek()

New supported argument:

<lLast>

OrderInfo()

New supported <iInfoType>:

DBOI_NAME

DBOI_SCOPEBOTTOM

DBOI_SCOPETOP

bBrowser

AutoSkip

New supported mode:

#WhenFocusChange

Drag()

New supported argument:

<iStayInterval>

GetInfo()

New supported info values:

Text

Icon

Bitmap

bCompoundValue

PropertyPut(),
PropertyGet(),
PropertyDelete()

New supported properties:

#BitmapStretch

#BitmapTransparentColor

#ColumnClass

#DataPointer

#DefaultButtonManage

#FooterPointer

#MouseWheelMode

#SelectorPointer

RowCountMode

New supported mode:

#LastRec

SelectionMode

New supported mode:

#Permanent

SetInfo()

New supported info values:

Text

Icon

Bitmap

bCompoundValue

Use()

New supported argument:

<auFormat>

ViewLogicAs

New supported display type:

#Check

bCellDragEvent

DragMode

New supported modes:

BCDM_DRAGENTER

BCDM_DRAGLEAVE

bDataColumn

PropertyPut(),
PropertyGet(),
PropertyDelete()

New supported properties:

#EditClass

SuspendEmptyValues

Support of codeblocks

 

ViewValueAs

New supported display types:

#Check

#PushButton

bViewStyle

Alignment

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