VOTools for Visual Objects  
and Vulcan.NET  

bBrowser => Patches => bBrowser 1.4 (Limited) => bBrowser 1.4 (Limited) Patch 1.4.35    




 bBrowser 1.4 (Limited) Patch 1.4.35
   
Datum: 04.03.2013
VO-Versionen: Visual Objects 2.8 SP4 (Build 2838)
Hinweis: Das Patch kann nur für den bBrowser 1.4 (Limited) verwendet werden.
Download:
 

 

 
 Patch-Historie   
1.4.35
  • bBrowser und bDataColumn
    Beim Aufruf der Methode bBrowser:Use() oder beim Zerstören des bBrowser werden nun auch die bereits vorhandenen Datenspalten zerstört.

  • bBrowser und Zelleingabe
    Korrigiert einen Fehler, der beim Einfügen aus der Zwischenablage in das Eingabe-Control auftreten konnte.

  • bBrowser und Tastaturbefehle (bKeyCommand)
    Nach der Ausführung eines bKeyCommand wird nun geprüft, ob die ALT-Taste gedrückt wurde. In diesem Fall werden alle WM_SYSCHAR Events aus der Event-Queue gelöscht. Dies ist notwendig, weil ansonsten der Hotkey eines Menüs ausgeführt werden könnte.

  • bBrowser und DBServer mit Scope
    Korrigiert einen Fehler, der auftreten konnte, wenn im DBServer ein Scope definiert war und der Server mittels Skip() auf EoF positioniert wurde. In diesem Fall stimmte die RecNo nicht.

  • bBrowser und AdoServer:SetFilter()
    Korrigiert einen Fehler, der auftreten konnte, wenn in einem AdoServer ein Filter auf Bookmarks definiert war und dann ein Feldwert in einem Datensatz geändert wurde.

  • bArrayServer:FieldPut()
    Wenn eine Zahl mit Nachkommastellen in ein numerisches Feld ohne Nachkommastellen geschrieben wurde, dann wurden auch die Nachkommastellen im Feldwert gesetzt. Dieser Fehler ist nun behoben. Der numerische Wert wird mit der Funktion Integer() in eine Ganzzahl umgewandelt und dann erst im Feld gesetzt.
1.4.34
  • bBrowser:PropertyPut(#ScrollThumbDragRefresh)
    Der Wert für die Property #ScrollThumbDragRefresh wurde falsch ausgewertet. Bei FALSE wurde die Anzeigen beim Scrollen mit dem Slider ständig aktualisiert und bei TRUE nur beim Beenden des Scrollvorgangs. Die Bedeutung der Werte ist aber wie folgt definiert. Bei TRUE wird die Anzeige ständig aktualisiert und bei FALSE nur beim Beenden des Scrollvorgangs. Die Werte werden nun korrekt ausgewertet.

  • bCompoundValue und schräger Text
    Schräger Text (Font:Rotation > 0) wurde von der Klasse bCompoundValue nicht korrekt dargestellt.

  • bDBServer:SuspendNotification()
    Laut Dokumentation gibt der Aufruf der Methode bDBServer:SuspendNotification() einen numerischen Wert zurück. Statt dessen wurde aber das Server Objekt zurückgeben. Der Rückgabewert der Methode wurde nun so angepasst, wie er in der Dokumentation beschrieben ist. Das gleiche gilt auch für die Methode bDBServer:ResetNotification().

  • bDSSelection und ADS
    Der ADS arbeitet in der Funktion Str() immer mit dem '.' als Dezimalseparator. Dies ist unabhängig davon, welche Einstellung mit der Funktion SetDecimalSep() in VO definiert wird. Aus diesem Grund wird nun vor dem Auswerten der Selektion (siehe Methode bDSSelection:Update()) der Dezimal-Separator auf das Zeichen '.' gesetzt und anschließend wieder restauriert.
1.4.33
  • bBrowser und VO 2.7b
    Behebt verschiedene Probleme mit VO 2.7b.
1.4.32
  • bBrowser:SetContextMenu()
    Wenn mit der Methode bBrowser:SetContextMenu() ein oder mehrere Kontextmenüs gesetzt wurden, dann wurden diese beim Zerstören des bBrowser nicht zerstört. Dies verursachte ein Speicherloch
    .
1.4.31
  • bBrowser:AutoRefreshTime
    Durch ein vorheriges Patch wurde die AutoRefresh-Funktionalität (bBrowser:AutoRefreshTime) nicht mehr unterstützt. Dieses Problem wurde nun behoben, so dass die AutoRefresh-Funktionalität wieder unterstützt wird.

  • bBrowser und NULL-Werte im Spaltenfuß
    Wenn einem Spaltenfuß (bDataColumn:Footer) ein Null-Wert (0, FALSE, NULL_DATE, ...) zugewiesen wurde, dann wurde dieser Wert nicht angezeigt.

  • bBrowser und Hintergrundfarben für Spaltenbezeichnungen und Spaltenfüße
    Bisher wurde der Bereich für die Spaltenbezeichnung bzw. für den Spaltenfuß in der Farbe Grau gezeichnet, wenn dieser nicht sichtbar war (siehe bDataColumn:CaptionVisible bzw. bDataColumn:FooterVisible). Nun wird die Hintergrundfarbe verwendet, die im bViewStyle für die Spaltenbezeichnung bzw. den Spaltenfuß definiert ist. Wenn keine Hintergrundfarbe definiert ist, dann wird der Bereich in der Farbe Grau gezeichnet.


  • bArrayServer:RecordPut()
    Beim Aufruf der Methode bArrayServer:RecordPut() wurde bisher eine vorhandene Sortierung nicht aktualisiert. Dieses Problem wurde nun behoben. Wenn eine vorhandene Sortierung nicht aktualisiert werden soll, dann kann im neuen Argument <lUpdateOrder> der Wert FALSE übergeben werden. Als Vorgabe wird der Wert TRUE verwendet.
1.4.30
  • bBrowser und Scrollbalken
    In Windows 2000 und Windows XP können für die Scrollbalken Kontextmenüs eingeblendet werden. Bisher wurden in diesen Kontextmenüs die Menüpunkte "Oberer Rand" bzw. "Unterer Rand" nicht unterstützt. Dieser Fehler ist nun behoben.

  • bIcon
    In VO 2.7a konnte es vorkommen, dass die Icons nicht angezeigt wurden oder plötzlich verschwanden.
1.4.29
  • bBrowser:IsCaptionClickable()
    bBrowser:IsColumnMovable()
    bBrowser:IsColumnResizable()
    bBrowser:IsRowResizable()
    Bisher hat der bBrowser die Methoden nicht intern verwendet, sondern hat direkt auf die entsprechenden Instanz-Variablen zugegriffen. Die Methoden dienten nur dazu, von Außen die Zustände ermitteln zu können. Nun verwendet der bBrowser die Methoden auch intern. Somit ist es möglich, den bBrowser abzuleiten und die Methoden zu überlagern, um das Verhalten des bBrowsers zu verändern.

  • bDBServer:SuspendNotification()
    Unter bestimmten Umstände trat ein Programmabsturz in der Methode bDBServer:SuspendNotification() auf.

  • bArrayServer und DataFormat BDATAFORMAT_DBASE
    Beim Instanzieren des bArrayServer kann im Argument <auData> ein Daten-Array übergeben werden. Das Daten-Array enthält die Daten zu den definierten Feldern. Wenn bei einem Feld vom Datentyp String die Datenlänge in dem Array größer ist als die definierte Feldlänge, dann wird nun die Datenlänge auf die Feldlänge gekürzt.
1.4.27
  • bBrowser:ResizeBuffer()
    Unter bestimmten Umständen stürzte der bBrowser sporadisch in der Methode bBrowser:ResizeBuffer() ab. Dieser Fehler ist nun behoben.

  • bDataColumn und numerische Werte
    Numerische Werte werden in einer Datenspalte immer als String angezeigt. Um einen numerischen Wert in einen String zu konvertieren, wird die Methode bDataColumn:FieldSpec:Transform() aufgerufen. Dieser Aufruf erzeugt allerdings einen String mit führenden Blanks. Wenn solch ein Wert dann linksbündig angezeigt werden soll, sind die führenden Blanks sehr störrend. Aus diesem Grund werden nun bei der Konvertierung von numerischen Werten alle führenden Blanks entfernt.

  • bIcon:Size
    Die strenge Typisierung wurde entfernt.

  • bCompoundValue + CRLF
    CRLF in bCompoundValue werden nun korrekt unterstützt.

  • bCompoundValue:GetValue()
    Wenn für das Argument <iValue> der Wert 1 übergeben wurde, dann wurde nicht der erste Wert sondern ein NULL_OBJECT zurückgegeben.

  • bCompoundValue:DeleteValue()
    Wenn für das Argument <iValue> der Wert 1 übergeben wurde, dann wurde nicht der erste Wert gelöscht.
1.4.26
  • bBrowser und ClipperKeys
    Der bBrowser unterstützt nun auch die Return-Taste korrekt, wenn in seinem Owner die ClipperKeys eingeschaltet sind. Bisher wurde das Drücken der Return-Taste bei eingeschalteten ClipperKeys ignoriert.

  • bBrowser:CurrentColumn
    Wenn mit bBrowser:CurrentColumn die aktuelle Spalte gesetzt wird, wird nun auch bei der Einstellung bBrowser:AutoEdit #Permanent die Zelleingabe gestartet.

  • bBrowser:SkipToCell()
    Die Methode unterstützt das neue Argument <lAutoEdit>. Das Argument definiert, ob bei der Einstellung bBrowser:AutoEdit #Permanent automatisch eine Zelleingabe geöffnet werden soll. Wenn das Argument nicht spezifiziert wird, dann wird der Wert TRUE als Vorgabe verwendet.

  • bBrowser:AutoEdit #Excel
    Bei der Einstellung bBrowser:AutoEdit #Excel wird nun auch beim Drücken der RETURN-Taste die Callback-Methode CellDoubleClick() aufgerufen. Dieses Verhalten wurde bei den anderen Einstellungen für bBrowser:AutoEdit bereits unterstützt.

  • bBrowser:AutoEdit #Permanent
    Bei der Einstellung bBrowser:AutoEdit #Permanent wird nun auch die Möglichkeit unterstützt, innerhalb der Callback-Methode CellEdit() die Eingabe abzubrechen und den Tabellen-Cursor auf eine andere Zelle zu bewegen.

  • bBrowser und Eingabe
    Wenn innerhalb der Callback-Methode CellEdit() Fehlermeldungen angezeigt wurden, konnte es passieren, dass die Fehlermeldung mehrmals hintereinander angezeigt wurde.

  • bCompoundValue
    Die Position eines untergeordneten bCompoundValue wurde nicht relativ zum übergeordneten bCompoundValue dargestellt.

  • bDBServer:SetSelectiveRelation()
    Die Unterstützung der selektiven Relation enthielt einen Fehler, wenn die kontrollierende Sortierung absteigend (descend) war.
1.4.25
  • bBrowser und ADS eigenes DBF-Format ADT
    Der bBrowser hatte mit dem ADS eigenen DBF-Format ADT Probleme, wenn die DBF-Datei gelöschte Datensätze enthielt.
1.4.24
  • bBrowser und Eingabe
    Beim Übernehmen einer Zelleneingabe mit der RETURN-Taste wurde unter bestimmten Umständen ein Ton ausgegeben.

    Beim Übernehmen einer Zelleneingabe mit der TAB-Taste wurde unter bestimmten Umständen die Callback-Methode CellEdit() 2 mal hintereinander mit dem Mode BEDIT_END aufgerufen.

    Wenn Aufgrund einer Eingabe-Validierung eine Standard-Fehlermeldung vom bBrowser angezeigt wurde, dann war der Fenstertitel der Fehlermeldung in Deutsch. Dies betrifft nur den bBrowser in der international Version.

  • bBrowser und vertikale Spaltenwerte
    Wenn für die Spaltenwerte ein Font mit einer Rotation (siehe bFont:Rotation) definiert wurde, dann wurden die Spaltenwerte nicht korrekt angezeigt.

  • bbBrowser:GoTop()
    bBrowser:GoBottom()

    Vor einer Datensatzbewegung hat der DataServer kein NotifyIntentToMove an die registrierten Clients gesendet.

  • bDBServer:OrderKeyCount
    Wenn in dem Detail-Server einer selektiven Relation keine Ergebnismenge enthalten war, dann wurde ein falscher Wert zurückgegeben.
1.4.23
  • Selektive Relation ohne Datensätze
    Wenn in dem Detail-Server einer selektiven Relation keine Ergebnismenge enthalten war und dann im Detail-Server die Pfeil-Hoch-Taste gedrückt wurde, dann wurde der Detail-Server falsch positioniert.

  • Selektive Relation und Geschwindigkeit
    Die Geschwindigkeit von selektiven Relationen wurde bei größeren Datenbanken verbessert.
1.4.22
  • bBrowser und Spaltenbreite mit der Maus verändern
    Beim Verändern der Spaltenbreite mit der Maus, wurde in der Windows-Taskleiste immer ein Fenster angezeigt. Dieses Problem ist nun behoben.

  • bBrowser, Mehrfachselektion und rechte Maustaste
    Wenn im bBrowser die Mehrfachselektion eingeschaltet war und dann die rechte Maustaste gedrückt wurde, um ein Kontextmenü anzuzeigen, wurde die Zelle/Zeile unter der Maus nicht
    selektiert. Dieses Problem ist nun behoben.

  • bBrowser und DBServer:OrderScope
    Wenn im DBServer ein OrderScope gesetzt war und zu diesem keine Datensätze existierten, wurde ein leerer Datensatz angezeigt.

  • bBrowser:Refresh()
    Beim bBrowser:SelectionMode #Simple konnte es passieren, dass nach dem Aufruf von bBrowser:Refresh() mehrere Datensätze selektiert waren.

  • bArrayServer:FieldPos(),
    bArrayServer:FieldGet(),
    bArrayServer:FieldPut()

    Wenn Feldnamen als String spezifiziert wurden, konnte es vorkommen, dass diese nicht gefunden wurden, wenn nicht die exakte Schreibweise (Groß-/Kleinschreibung) beachtet wurde. Dieses Problem ist nun behoben.

  • bComboEdit
    Außerhalb des bBrowser arbeitete das Control bComboEdit nicht korrekt, wenn im geöffneten Auswahldialog ein Wert mit RETURN oder einem Mausdoppelklick übernommen wurde. In diesem Fall wurde der Auswahldialog wieder automatisch geöffnet.
1.4.21
  • bDataColumn:Init()
    Wenn eine Spalte mit dem <symFieldMode> #Access bzw. #AccessAssign erzeugt wird und zu dem Zugriff kein Feld im Datenserver existiert, wird nun automatisch ein HyperLabel für die Spalte erzeugt. Andernfalls wird das HyperLabel zu dem Feld verwendet.

  • bDataColumn:ViewValueAs=#Abstract
    Bisher wurde die Callback-Methode DrawValue() im Owner nicht aufgerufen, wenn der Spaltenwert leer war (unabhängig von der Einstellung bDataColumn:SuspendEmptyValue). Nun wird die Callback-Methode auch aufgerufen, wenn der Spaltenwert leer ist und bDataColumn:SuspendEmptyValue den Wert FALSE enthält.

  • bBrowser und bGrid:BackgroundList
    Wenn im bBrowser oder einer geöffneten Datenspalte eine Background-Liste definiert ist, wird diese nun im Grid angezeigt, wenn der Datenserver keine Datensätze enthält.

  • bBrowser:GridInEmptyArea
    Wenn bBrowser:GridInEmptyArea den Wert True enthält, dann werden nun beim Zeichnen des Grid im leeren Bereich die Farbbedingungen des bBrowser bzw. eine definierte BackgroundList im Grid des bBrowser berücksichtigt.

  • bBrowser:CaptionArea,
    bBrowser:DataArea,
    bBrowser:DynamicDataArea,
    bBrowser:FooterArea,
    bBrowser:SelectorArea

    Die Zugriffe haben immer einen Bereich zurückgegeben deren Breite und Höhe um 1 Pixel zu gross waren.

  • bArrayServer und Sortierungen
    Bei der Verarbeitung von Sortierungen (CreateOrder(), Append(), Delete(), OrderInfo()) werden nun Fehler im Sortierausdruck und/oder Sortierbedingung abgefangen. Die Methoden stürzen nun nicht mehr ab, sondern erzeugen ein Fehlerobjekt.

  • bDBServer:SuspendNotification()
    bDBServer:ResetNotification()

    Die Methoden werden nun ebenfalls in den Servern der Relationen aufgerufen.
1.4.20
  • bBrowser und Datensatz löschen
    Es wird nun automatisch in Richtung Dateianfang gescrollt (bei SetDeleted(True)), wenn zwar der letzte Datensatz aber nicht der erste Datensatz sichtbar ist.

  • bBrowser und Löschen im Detail-Server einer selektiven Relation
    Wenn im Detail-Server einer selektiven Relation ein Datensatz gelöscht wird, wird nun auch der vertikale Scrollbalken aktualisiert, sofern die gelöschten Datensätze nicht sichtbar sind (SetDeleted(True)).

  • bBrowser und Filter
    Wenn im Datenserver ein Filter aktiv war und durch eine Feldänderung der aktuelle Datensatz nicht mehr im Filter enthalten war, wurde der bBrowser nicht korrekt aktualisiert. Zusätzlich konnte es bei anschließenden Satzbewegungen vorkommen, dass der bBrowser nicht mehr reagiert hat.
1.4.19
  • bBrowser und Server mit 1 Datensatz
    Mit dem Patch 1.4.17 wurden keine Daten angezeigt, wenn der Server nur 1 Datensatz enthalten hat.
1.4.18
  • bBrowser und Mehrfachselektion
    Beim bBrowser:SelectionMode #Multiple wurde beim Anklicken einer noch nicht selektierten Zelle mit gedrückter STRG-Taste die Callback-Methode CellSelect() aufgerufen, die Zelle war aber zu diesem Zeitpunkt noch nicht selektiert. Erst beim Loslassen der Maustaste wurde die Zelle selektiert.

  • bDBServer und RecordFilter
    Wenn im RecordFilter eine RecNo angegeben wurde, die größer als DBServer:LastRec war verursachte der bDBServer einen Programmabsturz, sofern zusätzlich eine Sortierung aktiv war.
1.4.17
  • bBrowser:EditClose()
    Unter Windows XP kam es bei Eingabe-Controls der Klasse ComboBox manchmal zu Programmabstürzen.

  • bBrowser und ADS
    Verbesserte Unterstützung des ADS RDD's "ADSADT", wenn das Record-Recycling aktiv ist (als gelöscht markierte Datensätze werden bei einem Append wiederverwendet).

  • bBrowser und ADS 6.11
    Das RDD vom ADS 6.11 unterstützt den Access DBServer:OrderKeyNo nicht mehr so performant wie in den Vorgängerversionen. Der Geschwindigkeitseinbruch (>200%) wirkt sich dann aus, wenn SetDeleted() auf True ist. Der bBrowser verwendet den Zugriff DBServer:OrderKeyNo um unter anderem den Slider im vertikalen Scrollbalken zu positionieren. Das Geschwindigkeitsproblem wirkt sich somit direkt auf die Arbeitsgeschwindigkeit des bBrowser aus. Das Problem kann behoben werden wenn um den Aufruf von DBServer:OrderKeyNo der folgende Code implementiert wird.

    oServer:SuspendNotification()
    lDeletedOld := SetDeleted(False)
    oServer:Skip(0)

    iKeyNo := oServer:OrderKeyNo

    SetDeleted(lDeletedOld)
    oServer:ResetNotification()


    Dieser Workaround ist im bBrowser implementiert.

  • bArrayServer:Pack()
    Eine vorhandene Sortierung wurde bei der Methode bArrayServer:Pack() nicht korrekt verarbeitet.
1.4.16
  • bBrowser:SelectionRowCount
    Der Zugriff bBrowser:SelectionRowCount gab den Wert 1 zurück, wenn keine Datensätze vorhanden waren.

  • bBrowser:TabKeyMode
    Beim bBrowser:TabKeyMode
    - #MoveToEditableCell oder
    - #MoveToSelectableCell
    wurde der Fokus nicht korrekt vom bBrowser auf das nächste bzw. vorherige Control gesetzt.

  • bBrowser:TabKeyMode und bBrowser:AutoSkip
    Beim bBrowser:TabKeyMode
    - #MoveToEditableCell oder
    - #MoveToSelectableCell
    in Verbindung mit bBrowser:AutoSkip=True wurde der Fokus an das nächste Control weitergeben, wenn der Tabellencursor auf der letzten Spalte war und die TAB-Taste gedrückt wurde. Dieses Verhalten ist falsch. Der Fokus darf nur an das nächste Control weitergegeben werden, wenn bBrowser:AutoSkip den Wert False enthält oder aber der Tabellencursor auf dem letzten Datensatz steht und kein bBrowser:AutoAppend aktiv ist.

    Für alle, die diese Fehlverhalten des bBrowser ausgenutzt haben, besteht nun die Möglichkeit dem Zugriff bBrowser:AutoSkip den Symbolwert #WhenFocusChange zuzuweisen. Mit diesem neuen Wert verhält sich der bBrowser wie bisher.
1.4.15
  • bBrowser und vertikaler Scrollbalken
    Beim bBrowser:RowMode #Absolute wird der Thumb-Button des vertikalen Scrollbalkens optimaler unterstützt.

  • bBrowser:Recalculate()
    Beim ScrollbarMode #Auto wurden die Scrollbalken nicht immer ausgeblendet, wenn alle Daten im sichtbaren Bereich angezeigt werden konnten.
1.4.14
  • bBrowser und Seek
    Bei einem Seek im verknüpften Datenserver positioniert der bBrowser den gefundenen Datensatz nun in die Mitte des Datenbereichs.

  • bBrowser und 1 sichtbarer Datensatz
    Wenn im bBrowser nur ein Datensatz sichtbar war, konnte es beim vertikalen Navigieren zu Fehlverhalten bzw. Programmabstürzen kommen.

  • bBrowser:EditClose()
    Wenn während einer Zelleingabe über den vertikalen Scrollbalken das Eingabefeld aus den sichtbaren Bereich gescrollt und anschließend mit einen Mausklick ein anderer Datensatz angeklickt wurde, flimmerte der bBrowser.
1.4.13
  • bArrayServer:Seek()
    Ein bArrayServer:Seek() fand nie einen Datensatz, wenn der bArrayServer vorher auf EoF stand.
1.4.12
  • bArrayServer:CreateOrder()
    Die Angabe einer FOR-Condition verursachte einen Fehler.

  • bDataColumn und Spaltenbezeichnung
    Wenn in der Spalte keine eigene Spaltenbezeichnung definiert ist, wird der Wert aus

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

    verwendet, sofern dieser definiert ist.
1.4.11
  • bBrowser:EditCreate()
    Es werden nun auch Eingabe-Controls unterstützt, die von den Klassen
    - SingleLineEdit,
    - MultiLineEdit und
    - RichEdit
    abgeleitet sind.

    Der VerticalSpinner wird nun korrekt unterstützt.

  • bBrowser:Cut(), bBrowser:Paste()
    Cut & Paste wird während einer Zelleneingabe unterstützt.

  • bDBServer und RecordFilter
    Bei vorhandenen Indizes wurden die Datensätze nicht immer in der
    richtigen Reihenfolge verarbeitet.

    Beim RecordFilterMode=DBRFM_EXCLUDE wurde mit bDBServer:Seek nie ein Datensatz gefunden.
1.4.10
  • bGUI Classes
    Die DLL "bGUI Classes" konnte nicht dynamisch geladen und anschließend wieder entladen werden.

  • Rechte Maustaste und Kontextmenü
    Wenn die rechte Maustaste auf einer negativen Position (Doppelmonitorsystem) gedrückt wurde, tratt ein Programmabsturz (numerischer Überlauf) auf.
1.4.9
  • bItemList:Put()
    Neue Methode zum Setzen eines Elements.

  • bBrowser:TabKeyMode
    Unter Windows 2000 führte der TabKeyMode unter bestimmten Umständen zu Programmabbrüchen

    Wenn der bBrowser das einzige TABSTOP-Control war, wurde der Tabellencursor in die nächste/vorherige Zeile bewegt auch wenn der Mode bBrowser:AutoSkip nicht aktiv war.
1.4.8
  • bDataColumn:PropertyPut()
    Neue Properties konnten nicht gesetzt werden.

  • bDataColumn:PropertyDelete(),
    bDataColumn:PropertyGet(),
    bDataColumn:PropertyPut()

    Neue Einstellung: #EditClass
    Name der Klasse (als Symbol) die zum Editieren eines Zellwertes verwendet werden soll.
1.4.7
  • bBrowser und Drag&Drop
    Drag&Drop zwischen verschiedenen bBrowser wird nun unterstützt.

    Siehe auch in der Online-Dokumentation:
    - bCellDragDrop (Class)
    - bBrowser:DragDropMode (Access/Assign)
    - bBrowser:Drag()
    - bBrowser:CellDragDrop()
    - bSample - DragDrop
1.4.6
  • bBrowser und ALT-Taste
    Die ALT-Taste wurde sowohl in Menüs als auch in bKeyCommand's nicht korrekt unterstützt.
1.4.5
  • bBrowser:CellEdit()
    Beim Aufruf von self:oEdit:PerformValidations() wurde der alte und nicht der neue Wert geprüft, wenn keine CellEdit()-Callback-Methode definiert war.
1.4.4
  • bBrowser:CellEdit()
    Beim Aufruf von self:oEdit:PerformValidations() wurde der alte und nicht der neue Wert geprüft. Durch den vorangestellten Aufruf von self:oEdit:__Update() wird nun der neue Wert geprüft.

  • bBrowser:PropertyDelete(),
    bBrowser:PropertyGet(),
    bBrowser:PropertyPut()
    Neue Einstellung: #DefaultButonManage
    Logischer Wert der definiert, ob der Default-Button berücksichtigt werden soll, wenn der bBrowser den Fokus besitzt und die RETURN-Taste gedrückt wird.
1.4.3
  • bBrowser und Tastaturbefehle
    In Tastaturbefehlen wird nun auch die TAB-Taste unterstützt.

  • bBrowser:CellEdit()
    Wenn im Owner keine Callback-Methode CellEdit() definiert war, wurde das Eingabe-Control nicht validiert.

  • bArrayServer:Skip()
    Absturz im RecordFilter, wenn die Methode bArrayServer:Skip() ohne Argument aufgerufen wurde.
1.4.2
  • bBrowser:SelectionSet(#All)
    Wenn im verknüpften Server eine Sortierung aktiv war, wurden unter bestimmten Umständen nicht alle Datensätze selektiert.

  • bBrowser:NotifyDelete()
    Wenn der DatenServer ein bArrayServer war und die Einstellung für gelöschte Datensätze anders war als bei SetDeleted(), wurden gelöschte Datensätze nicht immer aus der Anzeige entfernt.
1.4.1
  • bBrowser und leeres Grid
    Wenn im bBrowser für das Grid ein NULL_OBJECT gesetzt wurde, führte dies zu einem Programmabsturz.
Copyright © 2003-2015 BEFO GmbH