VOTools for Visual Objects  
and Vulcan.NET  

bBrowser => Patches => bBrowser 1.5 => bBrowser 1.5 Patch 1.5.18.1    




 bBrowser 1.5 Patch 1.5.18.1
Download now
Date: 14-11-2008
File Size: 2.94 MB
VO-Versions: Visual Objects 2.8 SP1 (Build 2830)
Visual Objects 2.7b
CA-Visual Objects 2.6
Description:

The patch can be used for bBrowser Standard 1.5 and bBrowser Professional 1.5.

 
 Patch-History   
1.5.18
  • bBrowser and bDataColumn
    The already existing columns are destroyed at the call of the method bBrowser:Use() now. The columns also are destroyed if the bBrowser is destroyed.


  • bBrowser:Resize()
    The bBrowser was not always redrawn correctly, if the variable row height was enabled.

  • bBrowser and variable row height
    Fix a fault for the auto calculation of the row height.

  • bBrowser and ToolTips
    With the ToolTipMode #Column could occur that empty tool tips were shown. This problem is fixed now.

  • bBrowser:RecordSave()
    The method has not saved the EoF and BoF status.

  • bBrowser:RecordRestore()
    The EoF status was not restored correctly for a SQL Data Server.
1.5.17
  • bBrowser:GetDefaultFont()
    The new method creates an object of the class Font and returns it. The font object defines the standard font which is used in the bBrowser.
    NOTE !!!
    With every call of the method a new font object is created.

  • bBrowser:AutoRefresh() and SQL
    If bBrowser:ServerType contains the value #SQL and a bBrowser:AutoRefresh() is executed, then the record pointer of the data server is moved on the before active record again now.

  • bBrowser and MouseButtonDown()
    If the left mouse button is pressed on a column caption or a column footer then not the event WM_NCLBUTTONDOWN is sent any more but the event WM_LBUTTONDOWN. This results in that the method MouseButtonDown() is called in the bBrowser now. The same applies also for the other mouse buttons.

  • bBrowser and MouseButtonDoubleClick()
    If the left mouse button is double clicked on a column caption or a column footer then not the event WM_NCLBUTTONDBLCLK is sent any more but the event WM_LBUTTONDBLCLK . This results in that the method MouseButtonDoubleClick() is called in the bBrowser now. The same applies also for the other mouse buttons.

  • bBrowser and DBServer:EoF
    Solves a problem at which the access DBServer:EoF returns the value FALSE although the record pointer of the DBServer was on EoF.

  • bDataColumn and alignment of column caption
    If for the column values an alignment was defined then this was not used in the column caption as far as no alignment was defined for the column captions. The same applies to the alignment of column foot also.

  • bDSSelection and ADS
    The ADS always works with the '.' as a decimal separator in the function Str(). This is independent which setting is defined in VO with the function SetDecimalSep. For this reason the decimal separator is set before and restored after evaluating the selection (see method bDSSelection:Update()).
1.5.16
  • bBrowser:PropertyPut(#ScrollThumbDragRefresh)
    The value for the Property #ScrollThumbDragRefresh was evaluated wrongly. At the value FALSE the visible records was permanently updated at the scrolling with the slider and at the value TRUE only when the scroll process is ending. However, the meaning of the values is defined as follows. At TRUE the visible records are permanently updated and at FALSE only when the scroll process is ending. The values are evaluated correctly now.

  • bBrowser and ADS DBF-Format ADT
    The bBrowser had problems with the DBF format ADT of the ADS Server, if records were deleted.

  • bDataColumn:SetContextMenu()
    If one or more context menus were defined with the method bDataColumn:SetContextMenu(), then these were not destroyed when destroying the bDataColumn.

  • bCompoundValue and rotated text
    A rotated text (Font:Rotation > 0) was not displayed correctly from the class bCompoundValue.

  • bComboEdit
    If the choice dialog is opened, the bComboEdit tries to position this below the control. If the area below is too small, then it is moved above the control. The used algorithm did not consider the task bar of Windows, till now.

  • bDBServer:SuspendNotification()
    According to the documentation the call of the method bDBServer:SuspendNotification() returns a numeric value. Instead the server object is returned. The return value of the method was changed now that it agrees with the documentation. The same also applies to the method bDBServer:ResetNotification().

  • bArrayServer:SetSelectiveRelation()
    If no records existed in the child server of a relation, then the record pointer of the server was moved to the last record under circumstances.
1.5.15
  • bBrowser and VO 2.7b
    Solves some issues with VO 2.7b
    .
1.5.14
  • bBrowser:SetContextMenu()
    If one or more context menus were set with the method bBrowser:SetContextMenu(), then these were not destroyed when the bBrowser were destroyed. This caused a memory leak.
1.5.13
  • bBrowser:AutoRefreshTime
    By a previous patch the AutoRefresh functionality (bBrowser:AutoRefreshTime) was not supported any more. This problem was solved now so that the AutoRefresh functionality is supported again.

  • bBrowser and NULL-Values in column footer
    If a NULL value (0, FALSE, NULL_DATE, ...) was assigned to a column footer (bDataColumn:Footer), then this value was not displayed.
1.5.12
  • bBrowser and background color for column caption and footer
    The area for the column caption or footen was drawn in the color gray till now if this was not visible (see also bDataColumn:CaptionVisible or bDataColumn:FooterVisible). Now, the background color which is defined in the bViewStyle for the column caption or footer is used. If no background color is defined, then the area is drawn in the color gray.

  • bBrowser:SelectionSet()
    If the method bBrowser:SelectionSet() was invoked as below, then the bBrowser was not redrawn.

    oBrowser:SelectionSet(#All)

    This problem was solved now.

  • bBrowser and SQLSelect
    The class SQLSelect does not always determine the right EoF status when only record is available. This problem was corrected by a workaround in the bBrowser now.

  • bArrayServer:RecordPut()
    Till now, an available sorting was not updated at the call of the method bArrayServer:RecordPut(). This problem was solved now. If the sorting shall not be updated, then the value FALSE can be submitted in the new argument <lUpdateOrder>. The value TRUE is used as default.
1.5.11
  • bBrowser and scrollbars
    In Windows 2000 and Windows XP can be displayed context menus for the scrollbars. Till now, the menu items "Top" and "Bottom" were not supported in these context menus. This problem is solved now.

  • bIcon
    In VO 2.7a it could happen that the icons were not shown or suddenly disappeared.
1.5.10
  • bBrowser:IsCaptionClickable()
    bBrowser:IsColumnMovable()
    bBrowser:IsColumnResizable()
    bBrowser:IsRowResizable()
    The bBrowser has not invoked the methods internally till now. The methods were only for the programmer to be able to determine the states. The bBrowser invokes the methods internally now, too. It is therefore possible to implement a new class inherits from the bBrowser and to overwrite the methods to change the behavior of the bBrowser.

  • bBrowser:Font()
    If the font was changed by invoking the method bBrowser:Font(), the height of the column captions was not recalculated.

  • bArrayServer and DataFormat BDATAFORMAT_DBASE
    A bArrayServer object can be created with a data array in the argument <auData>. The data array contains the data to the defined fields. If for a field with the data type String the length of the value from the data array is greater than the defined field length then the value is cut on the defined field length now.
1.5.9
  • bBrowser:GridInEmptyArea and Color Condition
    With the patch bBrowser 1.5.8 the following error has crept in:
    If the access bBrowser:GridInEmptyArea was set to TRUE and additional a color condition was defined in the bBrowser, then a crash occured if the table cursor was scrolled to the last column.
1.5.8
  • bBrowser, SplitWindow and TAB key
    The TAB key is also supported in the bBrowser now if the bBrowser is in a SplitWindow.

  • Variable Row Height and Font Condition
    Font conditions (bFontCondition) in the bBrowser or bDataColumn were not considered, if the variable row height (bBrowser:EnableRowHeightVariable()) was enabled.
1.5.7
  • bBrowser:Refresh()
    It could occur after calling the method bBrowser:Refresh that some records were displayed twice.

  • bBrowser and mouse click
    A mouse click into an empty browser could cause an crash under certain circumstances. This bug is solved now.

  • bBrowser:ResizeBuffer()
    Under certain circumstances the bBrowser crashed sporadically in the method bBrowser:ResizeBuffer(). This bug is solved now.

  • bBrowser and variable row height
    If for a column with the ValType "C" the variable row height (bDataColumn:HeightVariable) was activated, then the correct height was calculated, but the cell value wasn't wrapped on the calculated height.

  • bDataColumn and numeric values
    Numeric values in a column are always drawn as string. To convert a numeric value into a string, the method bDataColumn:FieldSpec:Transform() is called. But this call creates a string with leading blanks. If such a value shall be shown with left alignment in the column, then the leading blanks are disturbing very much. Because of this all leading blanks are removed now.

  • bIcon:Size
    The strong typing was removed.

  • bCompoundValue:GetValue()
    If for the argument <iValue> the value 1 was passed on then a NULL_OBJECT was returned instead of the first value.

  • bCompoundValue:DeleteValue()
    If for the argument <iValue> the value 1 was passed on then the first value wasn't deleted.

1.5.6
  • bDataColumn:FieldMode
    The new access returns the FieldMode that was specified in the argument <symFieldMode> in the method bDataColumn:Init().

  • bBrowser and different mouse pointers
    With the method bBrowser:PropertyPut() different mouse pointers can be defined in the bBrowser for the following areas:
    - Data
    - Column Footer
    - Selector

    To define a mouse pointer for an area, one of the following constants must be used:
    - #DataPointer
    - #FooterPointer
    - #SelectorPointer

    The following code fragment defines a mouse pointer for the data area:
      oBrowser:PropertyPut(#DataPointer,
                          Pointer{POINTERCROSSHAIRS})


  • bBrowser:RecordRelease()
    With the new method bBrowser:RecordRelease() a record can be released that was saved with the method bBrowser:RecordSave() before.

  • bBrowser:ServerType
    The new access bBrowser:ServerType defines the type of the data server that is linked with the bBrowser. The bBrowser optimizes the access to the data server depending on the server type.

  • bBrowser:InitRecordScope()
    The new method bBrowser:InitRecordScope() determines the record number of the first, the last and the EoF record of the linked data server.

  • bBrowser:RowCountMode
    The access supports the new mode #LastRec now.

  • bBrowser and AutoRefresh
    The AutoRefresh behavior is supported also for SQL based data servers now. In the method bBrowser:AutoRefresh a method is invoked for SQL based data server with that the data are determined from the SQL Server once more. The name of this method can be defined in the bBrowser with the Property #SQLRequeryMethod. In the method bBrowser:Use() the property is set automatically if it isn't defined yet:
    - If the server is an instance of class SQLSelect:
      #Execute
    - If the server is an instance of class ADORecordSet or ADOServer:
      #Requery

  • bArrayServer:OrderInfo()
    The method supports the following constants now:
    - DBOI_KEYSINCLUDED
    - DBOI_SETCODEBLOCK

    For the following constants defined NULL values are returned:
    - DBOI_CUSTOM (False)
    - DBOI_FILEHANDLE (NULL_PTR)
    - DBOI_FULLPATH (NULL_STRING)
    - DBOI_HPLOCKING (False)
    - DBOI_INDEXEXT (NULL_STRING)
    - DBOI_INDEXNAME (NULL_STRING)
    - DBOI_LOCKOFFSET (0)
    - DBOI_UNIQUE (False)

  • bDBServer:SetSelectiveRelation()
    The support of the selective relation contained an bug if the controlling order was descending.

  • bDBServer and RecordFilter
    The deleted records were not ignored in the Record Filter, if SetDeleted() returned TRUE.
1.5.5
  • bBrowser and info texts
    If the bBrowser was resized, then the size of the visible information text wasn't always adjusted.

  • bBrowser:CurrentColumn
    If with the assign bBrowser:CurrentColumn the current column is set, then the cell edit is activated now at the setting bBrowser:AutoEdit #Permanent.

  • bBrowser:AutoEdit #Excel
    When pressing the return key, then the callback method CellDoubleClick() is called at the setting bBrowser:AutoEdit #Excel now. This behavior was already supported at the other settings of bBrowser:AutoEdit.

  • bBrowser:AutoEdit #Permanent
    At the setting bBrowser:AutoEdit #Permanent the possibility is supported now, to canceling the cell edit within the callback method CellEdit() and moving the table cursor on another cell.

  • bBrowser and cell edit
    If error messages were shown within the callback method CellEdit(), it could happen that the error message was displayed repeatedly.

  • bBrowser and multiple selection
    If several records were marked in a block, then the correct record numbers were not returned with the methods bBrowser:SelectionFirstRow() and bBrowser:SelectionNextRow(). This problem always occurred when because of the setting of SetDeleted() the deleted records were not visible.

  • bBrowser:SelectionCellCount
    The access bBrowser:SelectionCellCount did not returned the correct number of selected cells.

  • bBrowser:SelectionRowCount
    The access bBrowser:SelectionRowCount did not returned the correct number of selected rows.

  • bBrowser and drag & drop
    If a bBrowser was both client and server for drag & drop, then the drag & drop mode was activated automatically, if with the mouse a column was moved or the width of a column was changed.

  • bBrowser:SkipToCell()
    The method supports the new argument <lAutoEdit>. The argument defined, whether at the setting bBrowser:AutoEdit #Permanent a cell edit shall be activated automatically. If the argument is not specified, then the value TRUE is used as default.
1.5.4
  • bBrowser and ClipperKeys
    The bBrowser supports the return key correctly now, if ClipperKeys are activated in its owner. Pressing the Return key was ignored till now if ClipperKeys were activated.

  • bBrowser and Multiple Selection
    The bBrowser didn't process the multiple selection correctly if two differently long blocks were arranged directly besides each other.

  • bBrowser:AutoWidthColumn
    The width of the bBrowser:AutoWidthColumn wasn't calculated correctly if it was defined before the call of the method bBrowser:Use().

  • bCompoundValue
    The position of a subordinate bCompoundValue wasn't relatively shown to the primary bCompoundValue.

  • bArrayServer and Scopes
    Under certain circumstances the bArrayServer had problems with Scopes. This led to the fact that the record result of the activated scope was not correct.
1.5.3
  • bBrowser:CurrentRow
    The accesses bBrowser:CurrentRow returned no correct values in certain situations.

  • bBrowser:ToolTipMode
    With the bBrowser:ToolTipMode #Column no tooltip was shown, if the mouse pointer were moved from the column data into the column caption.

  • bDataColumn:ToolTipText
    With the new access bDataColumn:ToolTipText a Tooltip for a column can be defined.

    If no ToolTipText is defined,
    1. it is examined whether a HyperLabel is set in the column. If it is, the Description from this HyperLabel is used.
    2. it is examined whether a FieldSpec with HyperLabel is set in the column. If it is, the Description from this HyperLabel is used.
    3. it is examined whether the column is linked with a field in a data server. If it is, the Description from DataServer:FieldHyperLabel() is used.

  • bBrowser:AutoRefresh
    If for bBrowser:AutoRefreshTime a value >0 were set and with the vertical scrollbar the data were scrolled in the bBrowser, then after bBrowser:AutoRefreshTime the bBrowser jumped back to the current record, if by another program in the same database a record was appended or deleted. This behavior is now repaired. The bBrowser does not jump back any longer to the current record, but keeps the visible records further in its view.

  • bBrowser:GetColumnEditMode()
    If the sequence of the opened columns (bBrowser:ColumnOpenList) did not correspond to the sequence of the supported columns (bBrowser:ColumnList), then the method bBrowser:GetColumnEditMode() returned an invalid EditMode.

  • bBrowser and Multiple Selection
    The multiple selection did not work correctly, if the server were related to another server.

  • bBrowser and the own DBF format ADT from ADS
    The bBrowser had problems with the own DBF format ADT from ADS, if the database contained deleted records.

  • bArrayServer:OrderKeyCount()
    The method bArrayServer:OrderKeyCount() returned an invalid value, if for an order a scope were set.

  • bArrayServer and Scope
    If in the bArrayServer a scope were set, for that no result existed, nevertheless in the bBrowser one record was displayed
1.5.1
  • bBrowser and cell edit
    If due to an cell edit validation a standard error message were displayed by the bBrowser, then the caption of the error message was in German. This concerned only the bBrowser international.

  • bBrowser and vertical column values
    If for the column values a font with rotation (see also bFont:Rotation) were defined, then the column values were not drawn correctly.

  • bBrowser:GoTo()
    bBrowser:GoTop()
    bBrowser:GoBottom()

    Before a record movement the data server sent no NotifyIntentToMove notification to the registered clients.
Copyright © 2003-2015 BEFO GmbH