Navigation:  Updates >

Update auf Version 1.3

Diese Seite drucken    Vorherige SeiteZurück zum Anfang des KapitelsNächste Seite

Neue Klassen

bArrayServer

bComboEdit

bComboEditChoice

bCompoundValue

bDBServer

bDrawValueEvent

Neue Methoden und Zugriffe

bBrowser:CaptionDoubleClick()

bBrowser:DrawFooter()

bBrowser:FirstVisibleRecNo

bBrowser:FooterHeight

bBrowser:FooterView

bBrowser:GetColumnContextMenu()

bBrowser:GetContextMenu()

bBrowser:RecordRestore()

bBrowser:RecordSave()

bBrowser:SetContextMenu()

bBrowser:VisibleRowCount

 

bDataColumn:Alignment

bDataColumn:Background

bDataColumn:Font

bDataColumn:Foreground

bDataColumn:Footer

bDataColumn:FooterView

bDataColumn:FooterVisible

bDataColumn:GetContextMenu()

bDataColumn:SetContextMenu()

 

bViewStyle:Grid

Änderungen an Methoden und Zugriffe

bBrowser:AutoClose

bBrowser:AutoEdit

bBrowser:ContextMenuShow()

bBrowser:CurrentMode

bBrowser:EnableCaptionClick()

bBrowser:GetColumnAlignment()

bBrowser:GetColumnBackground()

bBrowser:GetColumnFont()

bBrowser:GetColumnForeground()

bBrowser:GetColumnGrid()

bBrowser:Refresh()

bBrowser:Redraw()

bBrowser:SelectionMode

 

bCellEditEvent:EditFlags

Neue Funktionen

bfntSizeText()

Sonstige Änderungen und Erweiterungen

OwnerDrawValue
Der bBrowser bietet die Möglichkeit, Werte vom Datentyp Object als Spaltenwerte darzustellen. Da der bBrowser diese aber nicht selber zeichnen kann, überprüft er, ob in seinem Owner eine Methode DrawValue() definiert ist. Wenn ja, ruft der bBrowser diese zum Zeichnen des Objekts auf. Der Methode wird als Argument ein Event der Klasse bDrawValueEvent übergeben.

Unterstützung der Wheel Mouse
Der bBrowser unterstützt jetzt auch die Wheel Mouse für das Scrollen im vertikalen Scrollbalken.

Strenge Typisierung geändert in "lose Typisierung"
Da der Compiler von CA-VisualObjects immer wieder Probleme mit der Rückgabe von streng typisierten Werten aus Methoden und Zugriffen hat, wurden diese in eine lose typisierungen umgewandelt. Dies kann am Besten an einem Beispiel deutlich gemacht werden.

Beispiel:

ACCESS CaptionView AS bViewStyle PASCAL CLASS bBrowser

ò

ACCESS CaptionView AS OBJECT PASCAL CLASS bBrowser

Diese Änderung betrifft nur diejenigen Softwareentwickler, die den bBrowser abgeleitet haben. In diesem Fall müssen die neuen Typisierungen in die abgeleitete Klasse übernommen werden.

Grid in bViewStyle aufgenommen
Aus den Klassen bBrowser und bDataColumn wurde die Instanzvariable oGrid entfernt und in die Klasse bViewStyle aufgenommen. Durch diese Änderung, können nun den Spaltenbezeichnungen, den Spaltendaten und den Spaltenfüßen unterschiedliche Grid's zugeordnet werden. Beim Erzeugen eines Objekts der Klasse bBrowser werden standardmäßig in der Methode Init() die CaptionView, die DataView und die FooterView mit einem Grid erzeugt. Dies hat zur Folge, daß in Ihrem Programmcode folgende Sourcecodefragmente überarbeitet werden müssen:

Alt:

oBrowser:DataView := bViewStyle{...}

 

Neu:

IF oBrowser:DataView=NULL_OBJECT

 oBrowser:DataView := bViewStyle{,, BALIGN_RIGHT}

ELSE

 oBrowser:DataView:Alignment := BALIGN_RIGHT

ENDIF

 

Das Setzen des Zugriffs Alignment steht nur beispielhaft für alle anderen Zugriffe der Klasse bViewStyle.

Werden die oben aufgeführten Anpassungen nicht durchgeführt, wird mit der alten Vorgehensweise ein durch den bBrowser definiertes Grid überschrieben.

Fehlerkorrekturen

bBrowser und das Zeichen &
Das Zeichen & wurde bisher nicht angezeigt, sondern bewirkte, daß das nachfolgende Zeichen unterstrichen wurde. Das Zeichen wird nun korrekt dargestellt.

bBrowser und Append
Das Anhängen von Datensätzen konnte im bBrowser zu einem Abbruch führen, wenn viele gelöschte Datensätze am Anfang der Datei standen und gelöschte Datensätze über SetDeleted() nicht sichtbar waren. Dieser Fehler ist nun behoben.

bBrowser und Append
Nach einem Append wurde der neue Datensatz nicht immer in den sichtbaren Bereich gescrollt. Dieser Fehler ist nun behoben.

bBrowser:AutoAppend
Das AutoAppend wurde nicht ausgeführt, wenn

kein Datensatz im Server enthalten oder

bBrowser:EnableSkipEoF() eingeschaltet war.

Dieser Fehler ist nun behoben.

bBrowser:GetFirstVisibleRow()
Der Aufruf der Methode konnte zu einen Abbruch führen, wenn viele gelöschte Datensätze am Anfang der Datei standen und gelöschte Datensätze über SetDeleted() nicht sichtbar waren. Dieser Fehler ist nun behoben.

bBrowser und vertikales Scrollen/Skippen
Wenn gelöschte Datensätze über SetDeleted() nicht sichtbar waren, hat das Skippen über den Dateianfang hinaus zu Problemen beim Reorganisieren des internen Puffers geführt. Dieser Fehler ist nun behoben.

bBrowser und Mehrfachselektion
Beim SelectionMode #Multiple wurde die vorhandene Selektion verworfen, wenn eine Datensatzbewegung (Skip(), Goto(), usw.) direkt im Datenserver und nicht über den bBrowser ausgeführt wurde. Dieser Fehler ist nun behoben.

bBrowser und Mehrfachselektion
Beim Umschalten des SelectionMode wurde die neue Selektion nicht immer korrekt neu gezeichnet. Dieser Fehler ist nun behoben.

bBrowser und Mehrfachselektion
Wenn die aktuelle Zelle/Zeile im bBrowser nicht selektiert war und der bBrowser anschließend den Fokus verlor, wurde die aktuelle Zelle/Zeile trotzdem im selektierten Zustand gezeichnet. Dieser Fehler ist nun behoben.

bBrowser und Mehrfachselektion
Wenn mehrere Zellen/Zeilen selektiert waren und anschließend über einer selektierte Zellen die rechte Maustaste gedrückt wurde, wurde die komplette Selektion gelöscht und nur noch die Zelle unter der Maus selektiert. Die vorhandene Selektien bleibt nun erhalten.

bBrowser und Mehrfachselektion
Beim CurrentMode #Line konnte es passieren, daß nach dem Ändern eines Scopes oder dem Wechseln eines Indizes im Datenserver, der Aufruf von bBrowser:SelectionFirst() eine falsche SatzNr zurück gab. Dieser Fehler ist nun behoben.

bBrowser und CurrentMode
Beim CurrentMode #Line wurden auch die Zellen selektiert dargestellt, bei denen in der Datenspalte der Zugriff Selectable auf FALSE eingestellt waren. Dieser Fehler ist nun behoben.

bBrowser und selektive Relation
Wenn im Kind-Server der selektiven Relation noch keine Sätze enthalten waren und anschließend ein neuer Satz angehängt wurde, konnte das zu einem Abbruch in der Methode bBrowser:StabilizeServer() führen. Dieser Fehler ist nun behoben.

bBrowser und Mausklick auf Spaltentitel
Wenn mit der Maus auf die Bezeichnung einer Spalte geklickt wurde, konnte anschließend nicht mehr die Breite irgendeiner Spalte mit der Maus verändert werden. Dies funktionierte erst dann wieder, wenn eine Satzbewegung über die Tastatur ausgeführt wurde. Dieser Fehler ist nun behoben.

bBrowser und Mausklick auf eine Zelle/Zeile
Bei einem Mausklick in den leeren Bereich unterhalb der letzten Zeile (EoF) wurde kein CellSelect()-Event mehr generiert. Das gleiche galt auch für einen Doppelklick. Dieser Fehler ist nun behoben.

bBrowser und die Anzeige der letzten Datensätze
Wenn z.B. nach einem fehlgeschlagenen Seek der Datensatzzeiger auf EoF stand, zeigte der bBrowser nur diesen Datensatz an. Damit der letzte Datensatz nicht alleine sichtbar ist, werden nun auch noch vorherige Datensätze mit angezeigt.

bBrowser:KeyDown()
Das Drücken der Taste RETURN konnte zu einem Abbruch führen, wenn keine Datensätze im Datenserver vorhanden waren. Dieser Fehler ist nun behoben.

bBrowser und Editieren
Wurde beim Editieren horizontal gescrollt, wurde nicht immer das Eingabe-Control richtig mit gescrollt. Dieser Fehler ist nun behoben.

bBrowser:WordBreakInMemo
Das Flag wurde nicht richtig beim Zeichnen und bei der Eingabe unterstützt. Dieses Fehlverhalten ist nun behoben.

bBrowser und Hintergrundfarbe
Eine gesetzte Hintergrundfarbe (bBrowser:Background) wurde nicht an allen Stellen im bBrowser korrekt verwendet. Dieser Fehler ist nun behoben.

bKeyCommand:Eval()
Die Methode stürzte ab, wenn dem Objekt beim Erzeugen das Argument <auArgumente> nicht angegeben wurde. Dieser Fehler ist nun behoben.

 


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