home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.alaska-software.com
/
2014.06.ftp.alaska-software.com.tar
/
ftp.alaska-software.com
/
updates
/
xppw32g2.txt
< prev
Wrap
Text File
|
1999-12-01
|
25KB
|
610 lines
/*
* XPPW32G2.TXT
*
* Service Level 2 Hinweise für Xbase++ Version 1.20.178
* für Window NT und Windows 95/98 (WIN32T)
*
* Deutsche Ausgabe
*
* 27. Oktober 1999
*/
__________________________________
0. Informationen für Beta-Anwender
In diesem Abschnitt finden Sie wichtige Informationen, die für die
verschiedenen Beta-Versionen des Xbase++ Service Levels 2 gelten.
Die neuesten Informationen stehen immer am Anfang dieses Abschnitts.
Beachten Sie jedoch, daß die Informationen kumulativ sind, z.B.
gilt das, was unter Build 204 steht, auch für Build 205.
----- Informationen für Build 212 ------
a) Dieser Patch kann nur auf Xbase++ Version 1.20.178 installiert werden.
Das entspricht dem Service Level 1.
b) Sie können eine neue Produkt CD bei uns bestellen, die den Service
Level 2 als komplette Installationsversion beinhaltet. Die
Kostenbeteiligung dafür beträgt DM 50,-
c) Es gibt neue Beispielprogramme in diesen Verzeichnissen:
..\SAMPLES\BASICS\PRESPARA
..\SAMPLES\BASICS\QBROWSE
----- Informationen für Build 210 ------
a) *** !!! S E H R W I C H T I G !!! ***
Sie müssen alle Indexdateien neu erzeugen, um sicherzugehen, dass
Ihre Programme nicht mehr vom PDR 3342 betroffen sind, der in diesem
Build geschlossen worden ist. Unter bestimmten Umständen hat die
Funktion OrdCreate() fehlerhafte Indexdateien erzeugt. Sie können
nur dann sicher sein, fehlerfreie Indexdateien zu haben, wenn Sie
alle Indexdateien neu aufbauen lassen.
b) Die PagedDataStore Klasse wurde zu DacPagedDataStore umbenannt, um
ihre Beziehung zur Data Access Chain deutlich zu machen. Dadurch wird
Ihr Code gebrochen, den Sie bisher für XbpQuickBrowse geschrieben haben.
Die fruehere Klassenfunktion PagedDataStore muß das Präfix DAC bekommen.
c) Die XbpCrt Klasse hat die folgenden neuen Methoden bekommen:
:currentPos() , :setPos()
:getFrameState(), :setFrameState()
:toBack() , :toFront()
:isVisible()
Dadurch werden diese Instanzvariablen und Methoden überflüssig:
:xPos, :xSize, :yPos, :ySize
:minimize(), :maximize()
Aus Kompatibilitätsgründen werden sie noch unterstützt, in Zukunft
werden sie jedoch wegfallen. Stellen Sie daher sicher, in Ihrem Code
die folgenden Änderungen vorzunehmen:
:xPos und :yPos ersetzen durch :currentPos()
:xSize und :ySize ersetzen durch :currentSize()
:minimize() und :maximize() ersetzen durch :setFrameState()
d) In der XbpMenuBar Klasse wurden Änderungen bei Callback Codeblöcken und
Methoden vorgenommen (das betrifft auch XbpMenu, da diese Klasse von
XbpMenuBar abgeleitet ist):
:activateItem wurde aus Konsistenzgründen zu :itemSelected umbenannt.
Der alte Name wird noch unterstützt um keinen Code zu brechen.
Sie sollten aber :activateItem zu :itemSelected umbenennen um
für die Situation vorbereitet zu sein, wenn die Instanzvariable
in einer zukünftigen Version wegfällt.
:itemMarked ist neu und wird ausgeführt, wenn ein Menüeintrag
hervorgehoben angezeigt wird.
:beginMenu und :endMenu sind neu.
e) Die Methoden :setColRepresentation() und :getColRepresentation()
in den Klassen XbpQuickBrowse und XbpMultiCellgroup wurden geändert.
Dadurch können zwei verschiedene Icons in einer Browserzelle angezeigt
werden.
f) Die Presentation Parameter von allen Xbase Parts sind überarbeitet
worden. Alle Xbase Parts unterstützen ab sofort Vorder- und Hintergrundfarbe,
und reagieren auf Änderungen in der Systemeinstellung aufgrund ihrer
neuen Standardeinstellungen. Lesen Sie dazu in der Online Dokumentation
das neue Kapitel "Presentation Parameter für Xbase Parts". Sie finden
es am schnellsten über das Fenster "Liste der Änderungen"
Die wichtigsten Zusammenhänge für Presentation Parameter zeigt das neue
Beispielprogramm \BASICS\XBPSTYLE\PRESPARA.PRG
Für ein Beispiel, wie man farbige Eingabefelder programmiert, sehen Sie
sich das neue Programm \BASICS\XBPSTYLE\SLESTYLE.PRG an.
g) Es gibt ein neues Beispielprogramm \BASICS\GUIEVENT\SHUTDOWN.PRG das
verdeutlich, wie man auf das Herunterfahren des Betriebsyssystems
reagiert, oder es gar abweist.
h) Änderungen wurden in dem Verzeichnis \SOLUTION\XBPGET vorgenommen:
:umbenannt
EDITCOL.PRG ist zu GETCOL.PRG umbenannt worden
:neu
COMBOCOL.PRG = Verwendung einer Combobox zum Editieren in einem Browser
SPINCOL.PRG = Verwendung eines Spinbuttons zum Editieren in einem Browser
MLECOL.PRG = Verwendung eines MLEs zum Editieren von Text in einem Browser
COLTEST.PRG = Testprogramm für alle neuen Column Beispiele
:geändert
XBPGET.PRG = XbpGet hat ein eigenes Kontextmenü bekommen
i) Wir raten ab sofort davon ab, die Funktion OrdKeyNo() bei der Anzeige
indexierter Datenbanken in einem Browser zu verwenden:
oXbpBrowse:posBlock := {|| OrdKeyNo() }
Dieser Ansatz resultiert in einem trägen Browserverhalten, besonders
wenn eine große Datenbank angezeigt wird. Um XbpBrowse zu beschleunigen,
gibt es eine neue Instanzvariable :goPosBlock, mit der eine relative
Navigation in einer Datenbank möglich wird. Dies ist der empfohlene
Ersatz für OrdKeyNo() im Browser:
oXbpBrowse:posBlock := {| | DbPosition() }
oXbpBrowse:goPosBlock := {|n| DbGoPosition(n) }
----- Informationen für Build 205 ------
a) Windows 98 ist ab sofort eine offiziell unterstützte Plattform für
Xbase++. Der (sehr schwer zu findende) Grund für die 0x0E
Ausnahmesituation, die -besonders beim Debuggen einer Xbase++
Appliktaion- zu einer "Blue Screen" geführt hat, wurde identifiziert,
gelöst, und hat sich im Beta-Build 204 als "nicht mehr existent"
erwiesen.
Alaska Software gibt offiziell bekannt, daß Xbase++ unter
Windows 95, 98 und NT funktioniert (Win2000 sieht auch sehr gut aus)
b) CLOSEPDR.TXT ist jetzt in separate Build Sektionen gegliedert, so daß
sich PDRs einfacher identifizieren lassen, die mit einem bestimmten
Beta-Build geschlossen worden sind.
c) Die PDRs im Bereich Datenbank- und Index-Operationen, die sich in den
Build 204 eingeschlichen haben, sind geschlossen worden. Testen Sie
bitte diese PDRs besonders gründlich (siehe die Datei CLOSEPDR.TXT)
d) Der "Caps-Lock" PDR 3032 ist geschlossen worden. Da die "Caps-Lock"
Taste von landesspezifischen Betriebssystemeinstellungen beeinflußt
werden kann, stellen Sie bitte sicher, daß "Caps-Lock" in Ihrer
Umgebung korrekt funktioniert.
e) Die Verwaltung der Presentation Parameter wurde optimiert. Falls Sie
in diesem Bereich Anomalien vorfinden, berichten Sie diese bitte
umgehend in unserer Beta News Group.
f) Die Standard Presentation Parameter von XbpQuickBrowse wurden geändert,
so daß der Browser in seinem Standardlayout besser mit dem Betriebssystem
harmoniert.
----- Informationen für Build 204 ------
a) Dieser Patch überschreibt alle Beispieldateien im Verzeichnisbaum
..\XPPW32\SAMPLES, mit Ausnahme des Verzeichnisses ..\XPPW32\SAMPLES\DATA.
Falls Sie Quellcodedateien im Beispielverzeichnis geändert haben und
die Änderungen beibehalten wollen, müssen Sie die gänderten Dateien
in ein anderes Verzeichnis kopieren.
b) Eine #define Konstante aus der Datei DMLB.CH hat eine andere Bedeutung
für die Funktion FieldInfo() bekommen. Wenn Sie in Ihren Programmen
die Konstante FLD_TYPE an FieldInfo() übergeben, gibt die Funktion
jetzt einen Zeichenwert anstelle eines numerischen Wertes zurück.
Um weiterhin einen numerischen Rückgabewert zu erhalten, muß die
neue Konstante FLD_TYPE_AS_NUMERIC verwendet werden.
----- Informationen für Build 200 ------
a) Pbuild ist geändert worden, so daß die OBJ_DIR Einstellung korrekt
erkannt wird. Allerdings dürfen alle Dateinamen, die in der Sektion
$START-AUTODEPEND und $STOP-AUTODEPEND aufgelistet sind, keine
Pfadangaben mehr haben. Es ist nur der Dateiname mit Erweiterung
erlaubt.
Wir empfehlen Ihnen, PBuild einmal mit dem -g Schalter aufzurufen,
so daß alle Abhängigkeiten in der Projektdatei korrekt aktualisiert
werden.
----- Informationen für frühere Builds ------
a) Siehe den Abschnitt 5B weiter unten.
_____________
1.0 Überblick
Die Datei enthält wichtige Informationen über die Installation dieses
Service Levels.
Sie finden eine Liste von Änderungen gegenüber der vorigen Xbase++
Version im Abschnitt "Wichtige Hinweise" weiter unten in dieser Datei
und im Kapitel "Änderungen" in der Online Dokumentation.
Eine Liste der geschlossenen PDRs finden Sie in der Datei CLOSEPDR.TXT
_____________________________________________
2.0 Überprüfen der existierenden Installation
Bitte stellen Sie sicher, daß Sie das folgende Produkt komplett
installiert haben:
- Xbase++ 1.20.178 Deutsche Version
Ist dies nicht der Fall, installieren Sie Xbase++ neu von Ihrer CD-ROM.
Um die Versionsnummer Ihrer Xbase++ Installation festzustellen, geben
Sie auf der Befehlszeile ein:
[C:\ALASKA\XPPW32]xppload version
Beachten Sie bitte Abschnitt 6 wenn Sie Alaska Software kontaktieren
wollen.
2.1 HINWEIS FÜR BLINKER 5.x ANWENDER
Falls Sie die Dateien aus dem Verzeichnis ..\LIB\OMF nach ..\LIB
kopiert hatten, kopieren Sie die Dateien aus ..\LIB\COFF wieder
zurück nach ..\LIB bevor Sie mit der Installation des Service Levels
fortfahren.
Aufgrund einiger Supportanfragen empfehlen wir nicht mehr, die
OMF Bibliotheken in das ..\LIB Verzeichnis zu kopieren, wenn Sie
Blinker einsetzen. Stattdessen empfehlen wir, die Umgebungsvariable
LIB zu ändern, so daß sie auf das richtige Verzeichnis verweist:
SET LIB=..\LIB\OMF
2.2 HINWEIS FÜR BETA ANWENDER
Dieser Patch kann nicht über die zwischenzeitlichen Xbase++ Versionen
aus dem Beta Zyklus installiert werden sondern nur über die Version
1.20.178 (Service Level 1)
____________________________________
3.0 Kopieren der Service Level Datei
Laden Sie sich eine der beiden folgenden Dateien auf Ihren Rechner:
XPPW32G2.EXE - für die deutsche Xbase++ Version
XPPW32E2.EXE - für die internationale Xbase++ Version
Kopieren Sie nun die Datei XPPW32?2.EXE in das Verzeichnis
Ihrer aktuellen Xbase++ Installation.
[C:\ALASKA\XPPW32]copy \<download-verzeichnis>\XPPW32?2.EXE .\
____________________________
4.0 Anbringen der Änderungen
Die Datei XPPW32?2.EXE ist ein sich selbst entpackendes Archiv mit
Auto-Start. Alle notwendigen Dateien werden ausgepackt und die
Änderungen werden automatisch durchgeführt.
Um den Service Level 2 zu installieren, geben Sie diesen Befehl
auf Ihrer Kommandozeile ein:
[C:\ALASKA\XPPW32]XPPW32G2.EXE oder
[C:\ALASKA\XPPW32]XPPW32E2.EXE
Achten Sie während der Installation auf Fehlermeldungen und/oder prüfen Sie
die Datei SERVICE.LOG nach der Installation auf Fehlermeldungen.
Der Patch arbeitet inkrementell. Falls Sie den Vorgang abbrechen oder
ein Fehler auftrat, den Sie beheben können, ist eine Fortsetzung der
Installation jederzeit durch diese Eingabe möglich:
[C:\ALASKA\XPPW32]SERVICE.EXE
Zur Prüfung ob der Patch erfolgreich angebracht werden konnte
geben Sie diesen Befehl auf Ihrer Kommandozeile ein:
[C:\ALASKA\XPPW32]XPPLOAD VERSION
Als Ausgabe muß die Versionnummer 1.30.212 erscheinen.
_____________________
5.0 Wichtige Hinweise
A) Alles neu compilieren und linken
Bevor Sie eine Ihrer Applikationen mit Service Level 2 ausführen können,
müssen Sie alle Quellcode Dateien neu compilieren. Andernfalls kann
Ihr Progrmm nicht starten.
Verwenden Sie "PBuild -a" um eine Anwendung komplett neu zu erzeugen.
Falls irgendetwas nicht funktioniert, nachdem Sie die EXE Datei neu
erzeugt haben, stellen Sie als erstes bitte sicher, daß keine binären
"Übrigbleibsel" einer früheren Xbase++ Version auf Ihrem System
existieren und unbemerkt gelinkt wurden (OBJ, LIB und DLL Dateien).
B) Änderungen seit Xbase++ 1.20.178
1. Datenbank Performance
Die Geschwindigkeit des Datenbankzugriffs hat sich mit
Xbase++ Service Level 2 drastisch verbessert.
Die DatabaseEngines (DBEs) verwalten ab sofort einen dynamischen
Cache-Speicher beim Zugriff auf die Festplatte. Dadurch wurde der
Bedarf an Hauptspeicher deutlich gesenkt. Die DBEs brauchen
ca. 6x weniger Cache-Speicher (Datenbankpuffer) als in der
vorherigen Xbase++ Version.
Der DBE-Kernel verwendet ein optimiertes Merge/Sort Subsystem,
wodurch alle Datenbankoperationen schneller ablaufen, die eine
Sortierung beinhalten. Das betrifft Funktionen wie DbSort(),
DbCreateIndex() oder OrdCreate().
Aufgrund des neuen Merge/Sort Subsystems werden insbesonders
Indexdateien für große Datenbanken, oder solche, die einen sehr
langen Indexschlüssel beinhalten, deutlich schneller erzeugt,
als mit Xbase++ 1.20.178
2. Code Generierung
Der Xbase++ Compiler optimiert Operationen für alle LOCAL
Variablen, die sich nicht als "Detached LOCAL" in einem Codeblock
befinden. Das führt nicht nur zu einer schnelleren Ausführung von
Code zur Laufzeit eines Programms, sondern reduziert auch die
Linker-Fixups.
Ein Codeblock konnte bisher als eine Sequenz von Pseudo-Code
verstanden werden. Ab Xbase++ SL2 werden Codeblöcke optimiert und
in Native-Code überführt, wobei der Pseudo-Code erhalten bleibt
(Persistenz von Codeblöcken ist weiterhin gewährleistet).
Der Makro-Compiler optimiert einfache Ausdrücke, wie z.B. &("Upper(Feldname)").
Einfache Ausdrücke werden dadurch etwa 10x schneller bearbeitet als
vorher. Der Zuwachs an Geschwindigkeit hängt von der Komplexität
des Makro-Strings ab.
Standard-Operationen mit Zeichenketten sind optimiert worden.
Das hat zu einer höheren Ausführungsgeschwindigeit bei verringertem
Speicherbedarf geführt. Ein extremer Zuwachs an Geschwindigkeit
läßt sich z.B. bei folgendem Code feststellen (In-Line Verkettung von Strings):
c := ""
FOR i:= 0 TO 100000
c += "Hi"
NEXT
3. Speicherverwaltung und GUI Resourcen
Die Speicherverwaltung wurde verbessert, so daß Blöcke im Speicher
dichter gepackt werden. Das hat den Speicherbedarf gegenüber
dem Betriebssystem verringert. Der Memory-Manager identifiziert
jetzt auch ungenutze Memory-Pages und gibt sie an das Betriebssystem
zurück.
Die "Boost" Methoden des Garbage-Collectors wurden geändert, damit sich
der Garbage-Collector in die meisten (bekannten) Anwendungsszenarios
harmonisch einfügt.
In Xbase++ SL2 existiert ein interner Cache/Resource Manager für GUI
Resourcen, die vom Betriebssystem angefordert wurden. Dieses Subsystem
hat den Verbrauch von GUI Resourcen um den Faktor N gesenkt (N ist
abhängig von der Applikation). Der Resource Manager führt ein
automatisches Recycling durch. Dadurch kann das Windows 95/98 GUI
Problem vermieden werden, das die Win9x Betriebssyteme haben.
4. Compilieren
Der Xbase++ Compiler akzeptiert jetzt mehrere Dateinamen als Parameter.
Alternativ kann eine Skriptdatei auf der Befehlszeile angegeben werden,
die eine Liste von PRG Dateinamen enthält.
xpp Datei1.prg Datei2.prg /link
xpp @Liste.txt /link
PBuild nutzt bereits diese neue Eigenschaft des Compilers, so daß
die Zeit für Compile-Link Zyklen um bis zu 50% verkürzt wird.
5. STD.CH
Alle Datenbank-Befehle wurden dahingehend geändert, daß ein "Early
binding" stattfindet, wenn Makro-Ausdrücke als Befehlsparameter
angegeben sind. Dadurch wird die Ausführungsgeschwindigkeit von
Ausdrücken wie diesem verbessert:
cFilter := "Die Filter Bedingung"
SET FILTER TO &cFilter
6. DBESYS.PRG
Zusätzlich zu DBFDBE und NTXDBE werden die DatabaseEngines DELDBE und
SDFDBE bei einem Programmstart geladen.
7. Event handling
Der Aufruf von Callback Methoden erfolgt "synchron" und nicht mehr
"asynchron". Das bedeutet: Wenn Sie eine Klasse von einem Xbase Part
ableiten, der ein Standardverhalten für bestimmte Ereignisse hat,
und wenn Sie eine Callback Methode zur Ereignisbehandlung überladen,
so muß die entsprechende Methode in der Superklasse aufgerufen werden,
damit ein Xbase Part sein Standardverhalten zeigt.
Es gibt ein paar neue Beispielprogramme, die diese wichtige Änderung
verdeutlichen. Sehen Sie sich dazu diese Dateien an:
..\SAMPLES\BASICS\GUIEVENT\USERPBN.PRG
..\SAMPLES\BASICS\GUIEVENT\USERSLE.PRG
..\SAMPLES\SOLUTION\CALCSLE\CALCSLE.PRG
Hinweis: Die Callback Codeblöcke werden wie bisher behandelt, d.h.
ein Xbase Part hat bereits auf ein Ereignis reagiert, bevor der
Callback Codeblock ausgeführt wird.
8. XPF und XFF Dateien
Das Dateiformat für XPF Dateien (XFF Dateien beim FormDesigner) wurde
in Service Level 2 geändert. SL2 erkennt das alte XPF Format und
konvertiert es automatisch in das neue Format, d.h. SL2 ist
abwärtskompatibel.
Frühere Xbase++ Versionen können das Format ab SL2 nicht mehr lesen.
(SL1 kann keine XPF Dateien lesen, die von SL2 erzeugt wurden, aber SL2
kann die von SL1 erzeugten Dateien lesen).
9. XbpGet Klasse
Wir haben die XbpGet-Klasse überarbeitet, so daß eine korrekte Prä- und
Postvalidierung von XbpGet-Objekten durchgeführt wird. Für die Validierung
ist es unerheblich, ob sich ein XbpGet-Objekt in einem modalen oder
nicht-modalen Fenster befindet. Allerdings hat die Situation
"Ein XbpGet-Objekt befindet sich in einem nicht-modalen Fenster" dazu
geführt, daß wir der XbpGet-Klasse eine XbpGetController-Klasse zur
Seite stellen mußten, die den Fokuswechsel zwischen XbpGet-Objekten
überwacht und die Validierung vornimmt. Das bedeutet für Sie: falls
Sie XbpGet-Objekte verwenden, müssen Sie Ihren Code ändern. Ein
XbpGet-Objekt funktioniert nicht mehr ohne ein XbpGetController-Objekt.
Beide Klassen, XbpGet und XbpGetController, liegen im PRG Quellcode
vor. Falls es Sie interessiert, wie man einen Xbase Part bis in die
unterste Ebene hinein beeinflussen kann, empfehlen wir Ihnen die
Lektüre dieser beiden Dateien:
..\SAMPLES\SOLUTION\XBPGET\XBPGET.PRG
..\SAMPLES\SOLUTION\XBPGET\XBPGETC.PRG
10. XbpBrowse ist editierbar
Sie können ab sofort editierbare Browser mit der XbpBrowse Klasse
programmieren, da die erforderlichen Methoden überarbeitet wurden und
dokumentiert sind. Die Editierbarkeit betrifft allerdings nicht die
XbpBrowse- sondern die XbpColumn-Klasse. Letztere verfügt jetzt über
Methoden, die zum Editieren einer einzelnen Zelle im Browser
erforderlich sind (sehen Sie dazu die Liste der Änderungen in der
Online Dokumentation).
Wir haben für Sie zwei Beispielprogramme vorbereitet, die Ihnen zeigen,
wie man einen XbpBrowse() basierten Browser editierbar macht. Die
Programme implementieren die XbpGetColumn-Klasse. Sie verwendet
XbpGet-Objekte zum Editieren in einem XbpBrowse-Obekt. Die XbpGetColumn-Klasse
ist von der XbpColumn-Klasse abgeleitet. Sehen Sie sich dazu diese
Dateien an:
..\SAMPLES\SOLUTION\XBPGET\GETCOL.PRG
..\SAMPLES\SOLUTION\XBPGET\EDITBROW.PRG
11. XbpColumn-Komponenten sind dokumentiert
Wir haben das "Geheimnis" der XbpColumn-Klasse gelüftet:
Die XbpCellGroup() Klasse ist dokumentiert und kann
uneingeschränkt von Ihnen genutzt werden. Beachten Sie jedoch, daß wir
die XbpCellGroup-Klasse als eine Klasse ansehen, die Dienste für
andere Klassen bereitstellt. XbpCellGroup-Objekte sind als Komponenten
anderer Objekte nützlich, für sich allein sind sie dagegen fast nutzlos.
Bettet man aber drei XbpCellGroup-Objekte in ein XbpStatic-Objekt ein,
entsteht so etwas wie ein XbpColumn-Objekt. Sie können also die
Browser-Klasse implementieren, die Sie schon immer haben wollten.
12. Der Quick-Browser ist da
Es gibt eine neue Browser-Klasse zum schnellen Anzeigen (sehr großer)
Datenbestände. Wir haben sie XbpQuickBrowse() genannt und
sie folgt einem vollkommen anderen Prinzip als die XbpBrowse Klasse,
da sie ein Objekt als Datenquelle benötigt. D.h. sie arbeitet
nicht direkt in einer Datenbank, bzw. einem Arbeitsbereich, sondern
benötigt die Dienste der neuen PagedDataStore() Klasse.
Sobald Sie mit der XbpQuickBrowse-Klasse vertraut sind, werden Sie
feststellen, daß der Geschwindigkeitsvorteil gegenüber der
XbpBrowse-Klasse auf Kosten der Konfigurierbarkeit erreicht wurde.
Der Grund dafür ist, daß ein einziges XbpMultiCellGroup()
Objekt alle Daten anzeigt, die im Browser dargestellt werden.
Dadurch werden weniger GUI Resourcen als bei einem XbpBrowse-Objekt
angefordert, das pro Browser-Spalte ein XbpColumn-Objekt benötigt.
Die Verwendung von nur einem Objekt für alle Browser-Daten ist ein
Hauptgrund für den Zuwachs an Geschwindigkeit auf Kosten der
Konfigurierbarkeit.
Wir empfehlen, die XbpBrowse-Klasse zu verwenden, wenn die Konfigurierbarkeit
ein wichtiger Aspekt ist, und die XbpQuickBrowse dort einzusetzen,
wo es auf die Schnelligkeit der Datenpräsentation ankommt, wie zum
Beispiel in einer Look-up Tabelle.
13. Online Hilfe
Die Online Hilfe wurde um ein zusätzliches Fenster ergänzt, das
Befehle und Funktionen anhand der Gruppe auflistet, der sie
angehören. Das gibt Ihnen eine zusätzliche Möglichkeit, nach
einer bestimmten Funktion zu suchen. Das neue Fenster wird über
den "Siehe auch" Button im Hauptfenster der Online Hilfe geöffnet.
14. XbpCrt:configure()
Die :configure() Methode in der XbpCrt Klasse hat eine Änderung
erfahren, so daß der Bildschirmpuffer eines XbpCrt Objekts erhalten
bleibt. Das kann zu einem abweichenden Verhalten gegenüber einer
früheren Xbase++ Version führen. Der Befehl CLS muß nach :configure()
ausgeführt werden, um den Puffer in einem XbpCrt Fenster zu löschen.
15. XbpWindow:setFontCompoundName()
Der Rückgabewert der :setFontCompoundName() Methode entspricht jetzt
immer dem zuletzt gesetzten Font. Das kann in Applikationen zu
Problemen führen, die davon ausgehen, daß der Rückgabewert mit dem
übergebenen Parameter übereinstimmt.
16. GRA_CLR_BROWN + SetColor( "GR" )
Die Farbe, die mit GRA_CLR_BROWN eingestellt wurde, war nicht
kompatibel mit der Standard VGA Palette. Daher wurde Sie bei
256 Farbsystemen auf eine Art von Rot ge"map"t. Das führte zu
einer nicht kompatiblen Farbdarstellung bei SetColor() im Text-
und Hybridmodus.
Die Farbe entspricht jetzt der Standard VGA Palette, was zu einer
abweichenden Darstellung gegenüber früher führt.
____________________________________
6.0 So erreichen Sie Alaska Software
Bitte verwenden Sie unsere News Group, wenn Sie uns Informationen zu
oder Fragen über Xbase++ Service Levels 2 zukommen lassen wollen:
news://news.alaska-software.com/alaska-software.news.xbase++
Vielen Dank und viel Spass mit SL2!
Ihr Alaska Xbase++ Team