/* * XPPW32G2.TXT * * Service Level 2 Hinweise fr Xbase++ Version 1.20.178 * fr Window NT und Windows 95/98 (WIN32T) * * Deutsche Ausgabe * * 27. Oktober 1999 */ __________________________________ 0. Informationen fr Beta-Anwender In diesem Abschnitt finden Sie wichtige Informationen, die fr 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 fr Build 205. ----- Informationen fr 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 dafr betr„gt DM 50,- c) Es gibt neue Beispielprogramme in diesen Verzeichnissen: ..\SAMPLES\BASICS\PRESPARA ..\SAMPLES\BASICS\QBROWSE ----- Informationen fr Build 210 ------ a) *** !!! S E H R W I C H T I G !!! *** Sie mssen 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 fr 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 berflssig: :xPos, :xSize, :yPos, :ySize :minimize(), :maximize() Aus Kompatibilit„tsgrnden werden sie noch untersttzt, 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 Konsistenzgrnden zu :itemSelected umbenannt. Der alte Name wird noch untersttzt um keinen Code zu brechen. Sie sollten aber :activateItem zu :itemSelected umbenennen um fr die Situation vorbereitet zu sein, wenn die Instanzvariable in einer zuknftigen Version wegf„llt. :itemMarked ist neu und wird ausgefhrt, wenn ein Meneintrag 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 untersttzen 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 fr Xbase Parts". Sie finden es am schnellsten ber das Fenster "Liste der Žnderungen" Die wichtigsten Zusammenh„nge fr Presentation Parameter zeigt das neue Beispielprogramm \BASICS\XBPSTYLE\PRESPARA.PRG Fr 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 fr 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 fr OrdKeyNo() im Browser: oXbpBrowse:posBlock := {| | DbPosition() } oXbpBrowse:goPosBlock := {|n| DbGoPosition(n) } ----- Informationen fr Build 205 ------ a) Windows 98 ist ab sofort eine offiziell untersttzte Plattform fr Xbase++. Der (sehr schwer zu findende) Grund fr die 0x0E Ausnahmesituation, die -besonders beim Debuggen einer Xbase++ Appliktaion- zu einer "Blue Screen" gefhrt 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 grndlich (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 fr 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, mssen Sie die g„nderten Dateien in ein anderes Verzeichnis kopieren. b) Eine #define Konstante aus der Datei DMLB.CH hat eine andere Bedeutung fr 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 zurck. Um weiterhin einen numerischen Rckgabewert zu erhalten, muá die neue Konstante FLD_TYPE_AS_NUMERIC verwendet werden. ----- Informationen fr Build 200 ------ a) Pbuild ist ge„ndert worden, so daá die OBJ_DIR Einstellung korrekt erkannt wird. Allerdings drfen 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 fr frhere 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 gegenber 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 šberprfen 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 zurck 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 - fr die deutsche Xbase++ Version XPPW32E2.EXE - fr die internationale Xbase++ Version Kopieren Sie nun die Datei XPPW32?2.EXE in das Verzeichnis Ihrer aktuellen Xbase++ Installation. [C:\ALASKA\XPPW32]copy \\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 durchgefhrt. 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 prfen 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 Prfung 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 ausfhren k”nnen, mssen 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 frheren 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 fr groáe Datenbanken, oder solche, die einen sehr langen Indexschlssel beinhalten, deutlich schneller erzeugt, als mit Xbase++ 1.20.178 2. Code Generierung Der Xbase++ Compiler optimiert Operationen fr alle LOCAL Variablen, die sich nicht als "Detached LOCAL" in einem Codeblock befinden. Das fhrt nicht nur zu einer schnelleren Ausfhrung 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 berfhrt, wobei der Pseudo-Code erhalten bleibt (Persistenz von Codebl”cken ist weiterhin gew„hrleistet). Der Makro-Compiler optimiert einfache Ausdrcke, wie z.B. &("Upper(Feldname)"). Einfache Ausdrcke 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 Ausfhrungsgeschwindigeit bei verringertem Speicherbedarf gefhrt. 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 gegenber dem Betriebssystem verringert. Der Memory-Manager identifiziert jetzt auch ungenutze Memory-Pages und gibt sie an das Betriebssystem zurck. Die "Boost" Methoden des Garbage-Collectors wurden ge„ndert, damit sich der Garbage-Collector in die meisten (bekannten) Anwendungsszenarios harmonisch einfgt. In Xbase++ SL2 existiert ein interner Cache/Resource Manager fr 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 fhrt 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 fr Compile-Link Zyklen um bis zu 50% verkrzt wird. 5. STD.CH Alle Datenbank-Befehle wurden dahingehend ge„ndert, daá ein "Early binding" stattfindet, wenn Makro-Ausdrcke als Befehlsparameter angegeben sind. Dadurch wird die Ausfhrungsgeschwindigkeit von Ausdrcken 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 fr 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 ausgefhrt wird. 8. XPF und XFF Dateien Das Dateiformat fr 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. Frhere 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 durchgefhrt wird. Fr 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 gefhrt, 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 fr Sie: falls Sie XbpGet-Objekte verwenden, mssen 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 Lektre 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 verfgt 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 fr 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 gelftet: 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 fr andere Klassen bereitstellt. XbpCellGroup-Objekte sind als Komponenten anderer Objekte ntzlich, fr 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 gegenber der XbpBrowse-Klasse auf Kosten der Konfigurierbarkeit erreicht wurde. Der Grund dafr 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 fr alle Browser-Daten ist ein Hauptgrund fr 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 gegenber einer frheren Xbase++ Version fhren. Der Befehl CLS muá nach :configure() ausgefhrt werden, um den Puffer in einem XbpCrt Fenster zu l”schen. 15. XbpWindow:setFontCompoundName() Der Rckgabewert der :setFontCompoundName() Methode entspricht jetzt immer dem zuletzt gesetzten Font. Das kann in Applikationen zu Problemen fhren, die davon ausgehen, daá der Rckgabewert 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 fhrte zu einer nicht kompatiblen Farbdarstellung bei SetColor() im Text- und Hybridmodus. Die Farbe entspricht jetzt der Standard VGA Palette, was zu einer abweichenden Darstellung gegenber frher fhrt. ____________________________________ 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