Versionsübersicht von XClass++

XClass++ ab Version 5.1.x kann nur mit Xbase++ ab Version 2.x genutzt werden!

Version 5.5 Build 288 released 01.11.23:
dsArrayTable:Delete korrigiert: Löschen des letzten Satzes setzt das EOF Flag
dsComboBox:Validate korrigiert: beachtet required Flag
dsEdit:SetRequired obsolete: benutze dsEdit:Required
dsIniFile:Refresh korrigiert
dsMemoryTable:countrec erweitert: beim Zählen wird ::SetFilter beachtet
dsMemoryTable:countrec erweitert: neuer Parameter bFilter fürs Zählen
dsMemoryTable:Delete korrigiert: Löschen des letzten Satzes setzt das EOF Flag
dsNavigateDb:AddSyncblock new: Codeblock nach einer Navigation in :Skipserver
dsNavigateDb:Skipserver new: bestimme Tabelle um im Hintergrund zu skippen
dsNavigateDb:Synchronize new: eval :AddSyncblock
dsPicklist erweitert: unterstützt Drag&Drop um selektierte Items anzuordnen
dsProgress:range korrigiert: Slider zeigt genaue Position zwischen nMin und nMax
dsSle:Validate korrigiert: beachtet required Fag
dsTabRider korrigiert: erste Anzeige erfolgt in der richtigen Vordergrundfarbe
dsTabRider:Font korrigiert: Font unterstützt SetDefaultCodepage()
dsTooltips korrigiert: Font unterstützt SetDefaultCodepage()
dsXbrowse erweitert: char binary Felder können editiert werden
dsXbrowse:AutoRefresh erweitert: kann während der Anzeige geändert werden
dsXbrowse:AutoRefresh erweitert: ohne Parameter das brwTimer Thread-Object wird zurückgegeben
dsXbrowse:IsStable neu: TRUE, wenn Anzeige im dsXBrowse stabil ist
dsXbrowse:Spacekey4Select korrigiert: Einstellung wird beachtet
dsXBrowse:ShowImage erweitert: der Inhalt von blob Felder wird im dsDataDialog angezeigt und kann mit beliebigen Dateitypen belegt oder exportiert werden
dsXBrowse:ShowMemo geändert: Memo Feldinhalt wird nur im dsDataDialog angezeigt
dsXColumn:DisplayEmptyDate   neu: zeigt kein leeres Date Picture
dsXColumn:ShowImage neu: Darstellung von blob Feldern kann anders erfolgen als wie die Einstellung in dsXBrowse:ShowImage
CreateAppFonts neu: unterstützt Codepages für alle DefaultFonts()
DeleteDir erweitert: löscht auch Unterverzeichnisse
DeleteFile erweitert: löscht auch in Unterverzeichnissen
ErrorUserMessage erweitert: Array kan Codeblöcke enthalten die bei einem Fehler ausgeführt werden
XClassError erweitert: das aktive Fenster wird in der Header Information in Logfile hinzugefügt

Version 5.4 Build 285:
- sämtlicher Code wurde für die Xbase++ Workbench optimiert
dsMemoryTable      neu: Tabellen Klasse für Array mit Dataobjects
Add2String      erweitert: Parameter kann ein Dataobject sein
CopyFiles2Clipboard      neu, kopiert Datei in Zwischenablage
dsXbrowse:WheelSkip      geändert: Voreinstellung ist Windows Mauseinstellung
SetBrowseWheelSkip      geändert: Voreinstellung ist Windows Mauseinstellung
dsXbrowse:RecID_Block      erweitert: RecId_Block kann ein Dataobject zurückgeben, z.B. Server:ScatterName()
dsXBrowse:RefreshColData      neu: Spalte refreschen
dsXBrowse      korrigiert: X-Positionsfehler vom Spaltenkopf zur Spalte
dsReport      korrigiert: 1000 picture für numerische Werte
dsReportTable      korrigiert: Berechnung der Länge eines leeren Feldes
dsRadiobutton:SetExtendMode      neu: "enabled" Anzeige, aber nicht editierbar
dsDbTable:ScatterName      neu: Rückgabe DataObject, kompatibel zu Xbase SCATTER NAME
dsDbTable:GatherName      neu: erwartet DataObject, kompatibel zu Xbase GATHER NAME
dsArrayTable:ScatterName      neu: Rückgabe DataObject, kompatibel zu Xbase SCATTER NAME
dsArrayTable:GatherName      neu: erwartet DataObject, kompatibel zu Xbase GATHER NAME
dsDbTable:ScatterDataobject      obsolet, verwende dsDbTable:ScatterName
dsDbTable:GatherDataobject      obsolet, verwende dsDbTable:GatherName
dsArrayTable:ScatterDataobject      obsolet, verwende dsArrayTable:ScatterName
dsArrayTable:GatherDataobject      obsolet, verwende dsArrayTable:GahterName
dsImage:setdata      korrigiert: gibt Handle der letzten angezeigten Graphik frei

Version 5.3 Build 284:

dsRTF:CheckChangeState()      fix: in seltenen Situtationben kann ::GetParent nicht gefunden werden
dsSle:picture      fix: picture "99:99" wurde falsch berechnet
dsXbrowse:RecID_Block      erweitert: RecId_Block kann ein Dataobject zurückgeben, z.B. Server:scatterDataobject
dsXBrowse:SearchRefresh()      fix: nach einem Refresh war manchmal eine falsche Row Position
dsXBrowse:SearchWindow      fix: wenn dsXColumn:setIndex() nicht definiert war, konnte SerachWindow nicht beschrieben werden
dsXColumn:ForceWidth      erweitert: jetzt Access/Assign
Xbase VirtualScreen      fix: der Gebrauch von Xbase VirtualScreen führte zu einem Laufzeitfehler

Version 5.3 Build 283:

XclBase wurde in der Zusammenstellung verändert. Es müssen alle Programme neu kompiliert werden mit Schalter /A
Auch AdsClass (wenn eingesetzt) muss mit upgedatet werden.

Add2String      erweitert: zweiter Parameter kann ein Array sein, z.B. die Rückgabe von Scatter für einen CSV Export
aFileRead      erweitert: Liest auch Dateien mit Systemattribut "H" oder "S"
aFileReadEx      erweitert: Liest auch Dateien mit Systemattribut "H" oder "S"
dsApp      korrigiert: Toolbar ohne Menü führte zu Absturz
dsApp:SystemPowerStatus      neu: Callback, wenn Computer in Ruhemodus schaltet
dsBaseFile      erweitert: Alle Parameters für Dateinamen wurden erweitert, ein Dateiattribut zu setzen
dsCrt:center      neu: Nach Font Änderung wurde das Fenster neu zentriert
dsDataEditDialog:LbDblClickEdit      neu: linker Maustastenklick in ein Eingabefeld schaltet in den Editiermodus um
dsDbeSys      erweitert: DBE Name kann als Parameter übergeben werden
dsDialog:settitle      erweitert: synchronisiert DynamicWindowMenue Eintrag
dsEdit:onDrag      neu: Drag&Drop zwischen Xbase++ controls innerhalb einer Application
dsEdit:onDrop      neu: Drag&Drop zwischen Xbase++ controls innerhalb einer Application
dsEdit:required      neu: Erweiterung zu :setrequired
dsFile      erweitert: Alle Parameters für Dateinamen wurden erweitert, ein Dateiattribut zu setzen
dsFormgrid:save      neu: Save/Restore der berechneten GRID Koordinaten
dsIniFile      erweitert: Liest auch Dateien mit Systemattribut "H" oder "S"
dsListbox:ClearBeforeDatalink      neu: Markierungen werden vor dem :Datalink entfernt
dsPushButton:CaptionPos      fixed: Bitmap/Icon wird rechts vom Text positioniert
dsRegistry:getvalue      fixed: CHR(0) wurde bei REG_MULTI_SZ, nicht am Ende entfernt
dsSle      fixed: Wird ein String eingefügt, sitzt der Cursor am Ende des Strings
dsSle:keyboard      erweitert: CTRL+: or CTRL+; fügt das Heute Datum in ein Feld ein
dsSle:keyboard      erweitert: SHIFT+CTRL+: oder SHIFT+CTRL+; fügt das Heute Datum in ein Character ein
dsSle:keyboard      erweitert: SHIFT+CTRL+DOWN-Pfeil, Datum einen Tag dekrementieren
dsSle:keyboard      erweitert: SHIFT+CTRL+UP-Pfeil, Datum einen Tag inkrementieren
dsSle:Longtext      erweitert: Text ist getrimmed
dsTabEditPage:LbDblClickEdit      neu: linker Maustastenklick in ein Eingabefeld schaltet in den Editiermodus um
dsTabPage:SetResizeMode      neu: SIZE_REPOSITION, Positionen der Controls werden auf Basis von SetResizeMode berechnet
dsXBrowse      fixed: permanentes Scrollen mit linker Taste führt zu Stackoverflow
dsXBrowse:CursorChangeOnKillFocus      fixed: Wenn der Browser den Fokus verliert, ändert der Cursor die Farbe zu :SetHiLiteColor
dsXBrowse:DefaultSearchKey      neu: Focus zwischen Suchfeld und Browser wechseln
dsXBrowse:DelColumn      fixed: manchmal wurde die Spaltenanordnung geändert
dsXBrowse:PageUp      fixed: erste sichtbare Zeile ist dann letzte sichtbare Zeile
dsXBrowse:ReBuild      fixed: führte unter Umständen zu eienm Absturz
dsXBrowse:SearchRowPosition      fixed: Defaultwert 0, Cursor bleibt an der Stelle
dsXColumn:datalink      erweitert: Datalink kann Dataobject zurückgeben
dsDialog resize      fixed: kein Schatten im Parentfenster beim Verkleineren eines Dialoges
dsXBrowse resize      fixed: kein Schatten im Parentfenster beim Verkleineren eines Dialoges
XPJ      erweitert: kompatibel mit Project Version 2.3

Sonstiges: es erfolgten mehrere Modifikationen zur Stabilität

Version 5.2 Build 280:

dsTabpage      fix: Zentrierungsproblem wenn beim Show kein Control vorhanden ist
dsXBrowse      fix: beim Start war manchmal nur der erste Datensatz zu sehen
dsXBrowse:delColumn      erweitert: zweiter Parameter um Markierungs-/Sicherungsspalte niucht zu löschen

Version 5.2 Build 279:

dsCalendar      das Control beachtet jetzt die Monitorgröße
dsSle      fix: Einstellung für Tausender-Picture
dsXBrowse      fix: Verhalten des Memo-Edit innerhalb des Browse
dsXBrowse:HiLiteFreezedColumns      neu: zeigt eingefrorene Spalten immer hilited
Sonstiges      mehrere Modifikationen zur Stabilität

Version 5.2 Build 272:

dsComboBox      fixed: setrequired(.t.) wurde in Validierung ignoriert
dsComboBox      fix für GuiVersion=2: Box öffnet sich mit Mausklick
dsDialog:ShowPreBlock      neu: Codeblock Ausführung vor dem ersten show()
dsDialog:ShowPostBlock      neu: Codeblock Ausführung nach dem ersten show()
dsEdit:OnHandleEventAfter      erweitert: vierter Parameter Self wird an den Codeblock übergeben
dsEdit:onHandleEventBefore      erweitert: vierter Parameter Self wird an den Codeblock übergeben
dsHelp:DefaultFont      neu: setzt Default-Font für Hilfe Editierung siehe dsRTF:DefaultFontName
dsProgressItem      fixed: Data corrupted
dsRTF:DefaultFontName      erweitert: akzeptiert volle Font-Definition: 12.Courier New.underline.bold
dsRtfEx      fixed: Reset zum gesetzten DefaultFont in allen Situationen
dsTabControl:activate      fixed: wiederholter Aufruf von :activate() mit Öffnungsmodus
dsTabPage:ShowPreBlock      neu: Codeblock Ausführung vor dem ersten show()
dsTabPage:ShowPostBlock      neu: Codeblock Ausführung nach dem ersten show()
dsTreeview      fixed: Contextmenü mit F10 Taste öffnen
dsXBrowse      fixed: wenn Array connected ist und der Index soll umgeschaltet werden
dsXBrowse:SearchWin      erweitert: dsXSearchWin Objekt kann zugewiesen werden
dsXColumn:setWidth      fixed: Einstellung wurde in einigen Situationen nicht beachtet
dsXColumn:Alignment      fixed: Einstellung wurde in einigen Situationen nicht beachtet
dsXColumn:AddFootRow/:Footer      erweitert: wenn kein Fußfont gesetzt ist, wird der dsXColumn Data Font genommen
Klasse dsXSearchWin      neu: Klasse für Suchfenster unterhalb des dsXBrowse
aStrExtract      fixed: korrekte Stringteilung wenn lRespectApostrophe auf True gesetzt ist
SetErrorFilename      neu: Fehlermeldungen werden in einer Datei mit dem gesetzten Namen abgelegt

Version 5.2 Build 268:

- Beim erzeugen eines Fontobjekts wird eine nicht gesetzte SetDefaultCodePage() berücksichtigt
- Berechnung der Position von Tooltips verbessert
AppHelp:SetLanguage      geändert: wenn mit AppHelp() keine Hilfe definiert wurde, führte der Aufruf der Methode zum Fehler
dsDialog:HScroll      neu: Zugriff auf das horizontales Scrollbar Objekt
dsDialog:VScroll      neu: Zugriff auf das vertikales Scrollbar Objekt
dsTabpage:HScroll      neu: Zugriff auf das horizontales Scrollbar Objekt
dsTabpage:VScroll      neu: Zugriff auf das vertikales Scrollbar Objekt
dsSplitPanel:HScroll      neu: Zugriff auf das horizontales Scrollbar Objekt
dsSplitPanel:VScroll      neu: Zugriff auf das vertikales Scrollbar Objekt

Version 5.2 Build 267:

fixed dsProgress: unter bestimmten Umständen blieb der Progressdialog leer

dsDbTable:GatherDataObject      neu: schreibt DataObject Werte in die Tabelle
dsDbTable:ScatterDataObject      neu: gibt DataObject mit benamtem Feldwerten zurück

Version 5.2 Build 266:

- Project Datei für Release Version modifiziert
- Struktur des Sourceverzeichnisses für Developer Version geändert
- dsProgress modifiziert
- dsXbrowse:navigation modifiziert
- dsXbrowse Spalten mit Controls: wenn verbundene Tabelle leer ist, werden keine Controls angezeigt

dsXBrowse:wheelSkip      erweitert: Mausrad mit gedrückter CTRL-Taste führt ein PgUp/PgDown aus
dsXBrowse:pgUp      geändert: nächste Seite startet mit dem letzten Satz der aktuellen Seite
dsXBrowse:pgDown      geändert: nächste Seite endet mit dem ersten Satz der aktuellen Seite

Version 5.2 Build 265:

- dsMle: wenn ein markierter String mit der DELETE Taste gelöscht wurde, wurde ein Zeichen zuviel gelöscht
- dsXColumn: Fehler in CalcWidth behoben
- intern dsBaseServer: PopState korrigiert
- dsFormgrid: Berechnung einiger Control Zusammenstellungen verbesserert
- mehrzeilige Tooltips: Darstellung verbessert
- dsSdiView: Resize verbessert
- dsReport: Maximierung korrigiert
- dsTooltip: Fehler bei der Darstellung behoben

GetComputerName()      umbenannt in dsGetComputerName(), der alte Funktionsnamen wird mittels #translate konvertiert
GetTempPath()      umbenannt in dsGetTempPath(), der alte Funktionsnamen wird mittels #translate konvertiert
GetUserName()      umbenannt in dsGetUserName(), der alte Funktionsnamen wird mittels #translate konvertiert
    
dsDbTable:locate      erweitert: Codeblöcken für bFor, bWhile werden das Objekt der Datentabellen übergeben
dsExcelData:Connected      neu: gibt die verbundene Datenquelle zurück
dsExcelData:HasHeader      neu: gibt True zurück wenn ein Header existiert
dsExcelData:Terminate      neu: Abbruch des Verarbeitungsprozesses
dsExcelData:WriteTable      neu: erzeugt ein Excel Sheet aus einer Datentabelle
dsSle:ClickPos      neu: Verhalten bei Mausklick
dsXBrowse:DefaultDisplayLogical      neu: Standard-Darstellung von logischen Feldern (class method)
dsXBrowse:DisplayLogical      neu: Darstellung von logischen Feldern im aktuellen Browse
dsXBrowse:DisplayLogical      erweitert: fünfter Parameter für NULL Image
dsXbrowse:EditNull      neu: NULL als Editierwert erlauben
dsXBrowse:keyHandler      neu: Codeblock für eigene Tastenverarbeitung
dsXbrowse:ShowNull()      erweitert: wenn True, können logische Felder zwischen NULL, False und True geschaltet werden
dsXBrowse:ShowSoftseekButton      neu: zeigt Pushbutton neben der Sucheingabezeile an um Softseek zu schalten
dsXColumn:ContextMenu      neu: Zugriff auf das zugehörige Contextmenü Objekt
dsXColumn:CreateContextMenu      neu: erzeugt Contextmenü für eine Spalte
dsXColumn:DefaultDisplayLogical      neu: Standard-Darstellung von logischen Feldern in Spalten (class method)
dsXColumn:DisplayLogical      neu: Darstellung von logischem Feld im der aktuellen Spalte
dsXColumn:DisplayLogical      erweitert: fünfter Parameter für NULL Image
dsXColumn:EditNull      neu: NULL als Editierwert erlauben
dsXColumn:HasContextMenu      neu: check for unique context menu
dsXColumn:itemSelected      neu: Codeblock wenn die Spalte selektiert wurde
dsXColumn:setindex      erweitert: optionale Parameter
SetSelectImage     geändert: Parameters wurden geändert, aber bleiben abwärtskompatibel

Version 5.1 Build 255:

Korrekturen in dsProgressItem, dsRtf
dsArrayTable:Data     erweitert: es kann auch ein Tabellenobjekt übergeben werden
dsEdit:DataObject      neu: Exported Dataobject zu Nutzung wie :cargo
dsEdit:OnHandleEventBefore      neu: Codeblock welcher vor einem :HandleEvent() evaluiert wird
dsEdit:OnHandleEventAfter      neu: Codeblock welcher nach einem :HandleEvent() evaluiert wird
dsExcelData      neu: neue Klasse um Daten von und nach Excel zu portieren und um ein Excel Arbeitsblatt zu gestalten (für ActiveX und ODBC)
dsHelp:enableEdit      neu: Editierbarkeit der Hilfe ein-/ausschalten
dbHelp:refresh      neu: Index der nicht editierbaren Hilfeanzeige neu aufbauen (nur bei RTF Hilfe)
dlgHelpAll      erweitert: Hilfe Übersichtsdialog zeigt Schlagworte aller
Sprachen und ist editierbar
dsSle:keyboard      erweitert: CTRL-SHIFT-Pfeil rauf/runter in-/dekrementiert Datum
dsSle:postValidate     neues Verhalten: wenn nur der :Selectbutton aktiv ist, wird ein PostValidate ausgeführt,
wenn der Button den Fokus verliert.
dsSplitControl:Changed      neu: gibt True zurück wenn eine Control in einem der Panels geändert wurde
dsSplitControl:ValidateAll      neu: validiert die Editcontrols der Panels
dsSplitPanel:GapBorder      neu: definiert den Abstand der äußeren Controls zu den jeweiligen Rändern
dsSplitPanel:PreAppendBlock      neu: Codeblock welcher vor einem Append() evaluiert wird
dsTabPage:GapBorder      neu: definiert den Abstand der äußeren Controls zu den jeweiligen Rändern
dsTabPage:PreAppendBlock      neu: Codeblock welcher vor einem Append() evaluiert wird
dsToolbar      neu: Tooltips funktionieren jetzt auch in einem modalen Dialog
dsXBrowse:DefaultMemoChars      neu: Anzahl der angezeigten Zeichen eines Memofeldes in einer Spalte
dsXBrowse:Spacekey4Select      neu: Leertaste für Selektion benutzen
dsXColumn:enableEdit      erweitert: Codeblock zum Ändern der Editierbarkeit

Version 5.0 Build 252:

Achtung: In dieser Version wurde dsserver.ch an die Defines der types.ch von Alaska angepasst. Die neuen Defines sind nicht abwärtskompatibel. Diese Version von XClass++ kann nicht zusammen mit älteren Versionen von AdsClass++ verwendet werden. Es müssen beide Produkte aktuell sein.
Wer strukturnahen Code implementiert hat, muss alle Obj-Dateien neu erstellen und sollte Abfragen nach dem Datentyp Bezeichner prüfen.
Alaska hat mit der Einführung der PosgreSQL Unterstützung folgende neu Strukturdefinitionen eingeführt:
Short, Integer und LongLong werden durch den Buchstaben I in der Struktur representiert, die Länge enthält dann die Anzahl Bytes des Datentypes, 2,4, oder 8.
In diesem Zusammenhang wurden auch andere Defines mit denen von Alaska abgeglichen. Siehe dazu dsServer.ch

Beginnend mit dieser Version wird der Begriff Server durch Table ersetzt. Konkret bedeutet dies, dass Klassen oder Funktionen statt *server (dsDbServer, dsArrayServer, OpenDbServer, ...) jetzt *table (dsDbTable, dsArrayTable, OpenDbTable,...) heißen. Somit existieren beide Bezeichnungen, um die Abwärtskompaibiltität zu garantieren

Set(_SET_NULLVALUE) wird standardmäßig auf False gesetzt

Callstack      neu: Callstack als Zeichenkette
dsConnectionString      neu: Klasse um beliebige Strings für eine Datenbankverbindung aufzubauen
ds3State:Convert3State      neu: define translate values for the states of 3State control
ds3State:enableEdit      neu: enableEdit wird genutzt wie in dsSle
dsArrayTable:AddUserScope      neu: Satz an User Scope (Roll-your-own) hinzufügen
dsArrayTable:ClearRelation      neu: Relation entfernen
dsArrayTable:ClearUserScope      neu: Entfernen eines User Scope
dsArrayTable:dbRelation      neu: Link Ausdruck der Relation
dsArrayTable:dbRSelect      neu: Child Tabelle der Relation
dsArrayTable:EvalUserScope      neu: activate or stop user scope
dsArrayTable:GetUserScope      neu: Array mit allen Satznummern des Userscope
dsArrayTable:GetUserScopeName      neu: Name des aktuellen Userscope
dsArrayTable:locate      erweitert: neue Parameter Syntax,
dsArrayTable:ordcreate      erweitert: Sortieren über mehrere Felder
dsArrayTable:ScopeLastRec      neu: Anzahl Sätze in einem User Scope
dsArrayTable:SetRelation      neu: Relation setzen
dsArrayTable:SetUserScope      neu: User Scope erzeugen
dsArrayTable:UserScopeMode      neu: Modus eines UserScope setzen
dsBaseServer:Fieldinfo      neu: neue Parameter für valtype, picture, edit_length, nullable, readonly
dsBrowse.prg      geändert: jetzt in XCLOBROWSE.DLL enthalten
dsCellCtrl.prg      geändert: jetzt in XCLOBROWSE.DLL enthalten
dsCellMemo.PRG      geändert: jetzt in XCLOBROWSE.DLL enthalten
dsColumn.prg      geändert: jetzt in XCLOBROWSE.DLL enthalten
dsCombobox:GetItem      erweitert: 2. Parameter bestimmt den Rückgabewert
dsCombobox:GetSelected      erweitert: 2. Parameter bestimmt den Rückgabewert
dsCombobox:GuiVersion      neu: Art der Anzeige, freie Farbeinstellung für jeden Status
dsDataEditDialog      neu: Ist :EnableEscKey() true und der Dialog befindet sich im Editiermodus, wird mit Esc der Editiermodus verlassen
dsDebugLog      neu: Protokollieren oder Schreiben jedweder Information
dsDialog:AddEditControl      neu: Control als editierbar anmelden
dsDialog:Attach2Ctrl      neu: Dialog an den Rand eines anderen Control plazieren
dsDialog:ShowModal      erweitert: neuer Parameter, damit der Dislog nach einem ShowModal nicht destroyed wird
dsEdit:EnableNull      neu: enable Anzeige von NULL/NIL Werten in dsSle, ds3State
dsEdit:IsNull      neu:
dsEdit:OnLeaveLastEditCtrl     neu: Beendet Editiermodus und schreibt Daten nach Verlassen des letzten Controls
dsEdit:SuspendTabOrder      neu: Control von der Control-Reihenfolge ausschließen
dsError      neu: erweiterte error() Klasse
dsGlobalTable      neu: Parentklasse für AdsClass, PQclass, SQLXPPclass
dsListbox:GetItem      erweitert: 2. Parameter bestimmt den Rückgabewert
dsListbox:GetSelected      erweitert: 2. Parameter bestimmt den Rückgabewert
dsNavigateDB:PreReadSetBuffer      neu: Diese Methode ersetzt :preReadBuffer (Abwärtskompatibel)
dsNavigateDB:PreWriteCheckBuffer      neu: Diese Methode ersetzt :preWriteBlock (Abwärtskompatibel)
dsNavigateDB:PreWriteValidate      neu: Diese Methode ersetzt :preWriteCheck (Abwärtskompatibel)
dsProgress:EnableAdvanceBar      neu: Anzeigen oder Unterdrücken des Fortschrittbalkens, Texte werden immer angezeigt
dsProgressBar:EnableAdvanceBar      neu: Anzeigen oder Unterdrücken des Fortschrittbalkens, Texte werden immer angezeigt
dsProgressItem:EnableAdvanceBar      neu: Anzeigen oder Unterdrücken des Fortschrittbalkens, Texte werden immer angezeigt
dsRtf:defaultColor      fixed: wenn gesetzt, wird der Wert mit dem 1. Show angezeigt
dsRtf:defaultFontName      fixed: wenn gesetzt, wird der Wert mit dem 1. Show angezeigt. Fontname unterstützt Attribute
dsRtf:defaultFontSize      fixed: wenn gesetzt, wird der Wert mit dem 1. Show angezeigt
dsServer.ch      geändert: neue und geänderte Defines für erweiterte Tabelle Struktur
dsSle:CreatePicture      geändert: wenn mit einem tabellenfeld verknüpft, wird :Fieldinfo für Picture und Länge Editierbuffer ausgwertet
dsSle:SelectIcon      neu: Icon für Auswahlbutton
dsTabEditpage      neu: Ist :EnableEscKey() true und die Tabpage befindet sich im Editiermodus, wird mit Esc der Editiermodus verlassen
dsTabpage:AddEditControl      neu: Control als editierbar anmelden
dsXbrowse:ClearSearchBuffer      neu: internen Suchbuffer löschen
dsXBrowse:ClearSearchwin      neu: enable/disable Löschen des Inhaltes des Suchfensters
dsXBrowse:forceRefresh      neu: komplettes Refreshall ausführen
dsXBrowse:SetEditMode      fixed: neuer Parameter 0 setzt alles zurück. Minus Operation nicht mehr unterstützt.
dsXBrowse:SetNullColor      neu: Farbe für NULL/NIL Werte
dsXBrowse:ShowMemo      erweitert: Parameter geändert um Varchar Felder anzuzeigen. Abwärtskompatibel
dsXBrowse:ShowNull      neu: Anzeigen von NULL/NIL Werten für alle Spalten
dsXBrowse:SuspendShowNull      neu: Anzeige von NULL/NIL Werten ausschalten
dsXColumn      geändert: wenn mit einem Tabellenfeld verknüpft, wird :Fieldinfo für Picture und Länge Editierbuffer ausgwertet
dsXColumn:ClearSearchwin      neu: enable/disable Löschen des Inhaltes des Suchfensters
dsXcolumn:EnableSwitchDescend      neu: enable/disable Umschalten zischen auf-ab-steigender Sortierung
dsXColumn:ShowNull      neu: Anzeigen von NULL/NIL Werten
MsgBoxTextAlign      neu: die Voreinstellung für die Ausrichtung von Text innerhalb von MsgBox oder dsConfirmbox
SetDisplayErrors      neu: Fehlermeldungen anzeigen oder unterdrücken
SetDisplayErrorTime      neu: Zeit der Anzeige von Fehlermeldungen
SetEditColorBG      erweitert: zusätzliche Farbe für NULL/NIL Werte


Ab Version 4.7 ist XClass++ auch für Xbase 2.x verfügbar!

Speziell für den Gebrauch von XClass++ mit Xbase++ 2.x gibte es einige neue Tools:
VXShell: Command Shell nur mit den Umgebungsvariablen für Xbase 2.0 und XClass++
VXLink: erzeugt Batch-Dateien die die Umgebung zwischen Xbase 1.9 und Xbase 2.x umschalten
VXReset: setzt die Einstellungen von VXLink zurück
VXInst (für Xbase 2.x): setzt die Umgebungsvariablen in der Workbench für XClass++
VXInst (für Xbase 1.9): setzt die Umgebungsvariablen in der Windows Umgebung

Version 4.7 Build 221:

Scroll-Verhalten für ODBC und PostgresSql verbessert.
dsConfirmbox      modifiziert: Modalität der dsConfirmbox verbessert
dsDialog:Center      modifiziert: Position für Zentrierung verbessert
dsRegistry:DeleteTree      neu: Key und alle Subjeys löschen
dsSelectSleValue      erweitert: Methode Attach2Sle des Selection-Dialogs: positioniert den Dialog an das SLE
dsSelectValue      erweitert: Methode Attach2Sle des Selection-Dialogs: positioniert den Dialog an das SLE
dsTabPage:getCaption      korrigiert: gibt die Caption des TabRider zurück
dsXbrowse:AppendEx      korrigiert: wenn RowEdit aktiviert ist und der Browse leer ist und die erste Zelle editiert wird kam ein Fehler

Version 4.7 Build 220:

dsDbServer      korrigiert: Classname der Serverklasse
dsMenuItemProperty:IsDefault      neu: gibt Default-Setting eines Menü-Item zurück
dsMenuItemProperty:SetDefault      neu: setzt Menüitem als Default (wird fett dargestellt)
dsRtfEx:enableEdit      korrigiert: der Zustand der RTF Toolbar ist dem Status des RTF angepasst
dsToolbar:itemSwitchMode      korrigiert: Fehler beim Aufruf der Methode
dsXBrowse:EnableSelectIndex      erweitert: erster Parameter kann eine Addition von Konstanten für die Eigenschaften sein
dsXBrowse:GetHiddenColumn      neu: gibt Spalten-Objekt oder Array von Spaltenobjekten von versteckten Spalten zurück
dsXBrowse:HideColumn      neu: Spalte verstecken
dsXBrowse:Rebuild      korrigiert: beachtet jetzt die Originaleinstellung von Cellwidth
dsXBrowse:RefreshAll      geändert: nur noch ein Parameter als Konstanten (rückwärts kompatibel)
dsXBrowse:SetEditMode      neu: setzt die Eigenschaften des Editierens als Addition von Konstanten
dsXBrowse:ShowColumn      neu: versteckte Spalte wieder anzeigen
dsXColumn Spaltenkopf kann beliebig viele Textzeilen enthalten
dsXColumn Zelledit für Checkbox verbessert
dsXColumn:AddFootRow      neu: der Spaltenfuß kann aus mehreren einzelnen FootRows bestehen
dsXColumn:FootAlignment      erweitert: die vertikale Position des Fußinhaltes festlegen
dsXColumn:FootCaption      erweitert: die Anzahl der Fußzeilen ist nicht mehr limitiert
dsXColumn:FootColorblock      neu: Codeblock für wertabhängige Fußfarbe
dsXColumn:Footer      erweitert: Zugriff auf das Spaltenfuß-Objekt
dsXColumn:GetFootRow      neu: gibt einzelnes oder ein Array mit FootRow Objekten zurück
dsXColumn:SetHeadControl      neu: setzt ein beliebiges Control an den rechten Rand des Spaltenkopfes
dsXColFooter      neu: Klasse für erweiterte Spalten FootRow
dsXColMultiFooter      neu: Klasse für das interne Handling von mehreren FootRows einer Spalte

Version 4.7 Build 218:
dsFile:LineCount          erweitert: logischer Parameter für schnelleres Zählen
dsProgressBar korrigiert: Hintergrund wird jetzt refreshed auch wenn kein Manifest existiert
AppClientArea neu: Function gibt ein Objekt zurück um die ClientArea des Desktops zu berechnen
MonitorInfo neu: Function gibt Anzahl der Monitore und die Dimensionierung zurück
TaskbarInfo neu: Function gibt Information über die Position und Dimensionierung der Windows Taskbar zurück

Version 4.7 Build 217:
dsButton:SetColorBG      erweitert: 3. Parameter Farbe für disabled Button
dsButton:ColorDisabledBG      neu: Access/Assign Farbe für disabled Button
dsButton:ColorBG, ColorFocusBG      geändert: jetzt Access/Assign Methoden
dsContainer:DelCtrlGroup      erweitert: 2. Parameter um Objekte in einer Gruppe zu löschen
dsDialog:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsDic      korrigiert: falls LEXICAL oder EXACT auf True sind, kam es manchmal zu Einlesefehlern
dsGroup:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsInifile:getentry      erweitert, %VARIABLE% wird mit Umgebungs-Variable ersetzt
dsListbox      neu: zusätzliche Parentklasse dsEdit damit eigenes Contextmenü möglich ist
dsListbox      korrigiert: Changestate wird auch mit Tastendruck gesetzt
dsOPushButton:ShowInnerFocusFrame      neu: zeigt inneren Focusrahmen
dsOPushButton:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsPushButton:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsRegistry:QueryValue      geändert: für REG_SZ und REG_EXPAND_SZ wird der Buffer automatisch resized, der Returnwert wird bei chr(0) getrimmt.
dsSle:PostKeyboard      neu: Codeblock für Tastendruck
dsSle:SelectButtonSize      neu: Größe des Select-Button zuweisen
dsSplitPanel:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsStatic:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsTabPage:RiderTooltipEventBlock      neu: Tooltip Eventblock für einen Pagerider
dsTabPage:RiderTooltip      neu: Tooltip für einen Pagerider
dsTabPage:EnableAccelerator      neu: ein/aus Anzeige des Accelerator-Buchstaben für alle Child Controls
dsText      neu: zusätzliche Parentklasse dsEdit damit eigenes Contextmenü möglich ist
dsXBrowse      geändert: rechter Mausklick auf eine Zeile positioniert den Datenzeiger
dsXBrowse      geändert: Verschieben und Breite von Spalten
dsXBrowse:SetHeadColorFG      erweitert: für alle Spaltenüberschriften kann die Farbe gemeinsam geändert werden
dsXBrowse:SetFootColorFG      erweitert: für alle Fußzeilentexte kann die Farbe gemeinsam geändert werden
dsXBrowse:SetFootColorBG      erweitert: für alle Fußzeilenhintergründe kann die Farbe gemeinsam geändert werden
dsXBrowse:scrollbarWidth      neu: Breite der Scrollbar setzen
dsXbrowse:ShowImage      neu: Bild und optional die Satznummer oder eine Satzidentifikation anzeigen
dsXbrowse:ShowMemo      erweitert: optional die Satznummer oder eine Satzidentifikation anzeigen
dsXBrowse:SuspendDataRead      neu: unterdrückt das Einlesen von Daten
dsXBrowse:Refreshkey      neu: Tastenwert welcher beim Drücken ein Browserefresh auslöst
dsXBrowse:DefaultRefreshkey      neu: globaler Tastenwert welcher beim Drücken ein Browserefresh auslöst
dsXBrowse:ClearSelected      geändert: löst von selbst kein RefreshAll
OpenOdbcServer      erweitert: neuer Parameter per Referenz für erfolgreiche SQL Abfrage
OpenDbServer      erweitert: wenn kein Datei übergeben wird, wird die aktuelle Workarea genommen

XClass++ ab Version 4.5 kann nur mit Xbase++ ab Version 1.90 SL1 benutzt werden!

Version 4.6 Build 214:
Für die Beispiele gibt es ein neues Programm in welchem die Beispiele beschrieben sind und aufgerufen werden können.

dsAppSplitter      korrigiert: Resize der Childdialoge der Drawingarea
dsFormGrid:InsItem      erweitert: Item an Spalte rechts, links oder zentriert binden
dsListBox:ClearBeforeDatalink      neu: Einträge von dem Evaluieren des Datalinks demarkieren
dsXBrowse:AddFont      neu: definiere Font für wertabhängigen Gebrauch in dsXColumn
dsXBrowe:BuildGroupHeader      korrigiert: Berechnung der Groupheader-Größe
dsXBrowse:FontBlock      neu: Codeblock für definierte wertabhängige Fonts
dsXBrowse:SelectBlock      erweitert: neuer 4ter Parameter nMode
dsXColumn:DefaultDisplayLogical      neu: Default-Darstellung von logischen Feldern im Spalten
dsXColumn:DisplayLogical      neu: Darstellung eines logischen Feldwertes in der Spalte
dsXColumn:FontBlock      neu: Codeblock für definierte wertabhängige Fonts
dsXColumn:GetIndex      neu: gibt Index-Tagnamen zurück der mit der Spalte verbunden ist

Version 4.6 Build 212:

dsFormGrid:AddButtonRow      erweitert: weiterer Parameter um alle Button auf dieselbe Breite zu setzen
dsFormGrid:NewButtonRow      erweitert: weiterer Parameter um alle Button auf dieselbe Breite zu setzen
dsXBrowse:AddColumn      korrigiert: nachdem ein Browse angezeigt ist, führte ein addColumn() zu nicht korrekter Ansicht
dsXBrowse:DelColumn      korrigiert: nachdem ein Browse angezeigt ist, führte ein delColumn() zu nicht korrekter Ansicht
dsXBrowse:EnableColGrid      neu: ersetzt ::ColSep Spalten mit Trennlinien ausgeben
dsXBrowse:EnableRowGrid      neu: ersetzt ::RowSep Zeilen mit Trennlinien ausgeben
dsXBrowse:GridColor      neu: Farbe für Trennlinien
dsXBrowse:InsColumn      korrigiert: nachdem ein Browse angezeigt ist, führte ein insColumn() zu nicht korrekter Ansicht
dsXColumn:EnableColGrid      neu: rechte Trennlinie zu einer Spalte ausgeben
dsXColumn:EnableRowGrid      neu: Zeilen einer Spalte mit Trennlinien ausgeben
dsMsgBox      neu: Wrapper.Klasse für dsConfirmbox
TransformColor      neu: ändert RGB-Farbe nach heller oder dunkler

Version 4.6 Build 209:

Neue Applikationsklasse dsAppSplitter. Die Darwinarea ist von Splitpanels umgeben. Diese können in ihrer Größe geändert, eingeklappt, aufgeklappt oder versteckt werden..
Neuer SplitControl-Typ "AppSplitter". Das SplitControl füllt immer seinen Parent komplett aus und ist über seinen Parent in seiner Größe änderbar.
Splitpanels haben jetzt ein Title-Objekt für Überschriften
dsXBrowse benutzt xbpCheckbox für Markierungs- und Save-Spalten.
Die Größenänderung der Dialoge und Controls wurde verbessert, ebenso das Maximierte anzeigen von Dialogen.

dsApp:FrameClientArea      neu: Clientarea umrahmen
InitAppSplitter      neu: Aufbaufunktion für Applikationsplitter
dsAppSlitter      neu: reseizable Applikationsklasse mit bewegbaren Splitpanels an den Sieten
dsDbServer:Append      erweitert: beactet die Einstellung von SetRecRecycling()
dsDbServer:GetUserScopeName      neu: gibt den Namen des aktuellen Userscope zurück
dsDbServer:SetRecRecycle      neu: Satzrecyle für eine Tabelle festlegen
dsDialog:AddDestroyBlock      neu: zusätzlichen destroyblock
dsDialog:Center      erweitert: logischer Wert um Zentrierung ein-/abzuschalten
dsDialog:centerClient      neu: zeigt die Clients zentriert an.
dsDialog:isCentered      neu: Abfrage ob Dialog zentriert ist
dsDialog:GapBoder      neu: Abstand der äußersten Controls zum Seitenrand
dsEdit:DefaultFieldproperty      neu: Defaultwert für 3.Parameter von :Connect
dsEdit:DefaultHelpProperty      neu: Defaultwert für 4.Parameter von :Connect
dsEdit:OnLeaveLastEditCtrl      neu: Callbackslot wenn das letzte Editcontrol verlassen werden soll
dsFormGrid:InsHLine      neu: horizontale Linie einfügen
dsFormGrid:InsVLine      neu: vertikale Linie einfügen
dsFormgrid:SetDialogPos      neu: disable/enable die Neupositionierung des Dialogs durch das Formgrid
dsIniFile:GetEntry      erweitert: Parameter "A" gibt Eintrag als Array zurück
dsMenu:LockUpdate      neu: ähnlich dem Xbase++ LockUpdate
dsMenu:Menubar      neu: ersetzt die Methode GetMenuBar.
dsProgressItem:Reset()      neu: Reset die Progressbar
dsSplitControl:AppSplitter      neu: Typ des Splitcontrol ermitteln
dsSplitControl:GetLeftProzentSize      neu: gibt Breite bzw. Höhe des linken bzw. oberen Splitpanel in Prozent zurück.
dsSplitControl:GetPanelByID      neu: gibt das Panel-Objekt anhand seiner ID zurück
dsSplitControl:Init      erweitert: der Typ "AppSplitter" kann gesetzt werden
dsSplitControl:SetPanel      neu: Zuweisung eines Splitpanel mit seiner Startbreite bzw. Höhe.
dsSplitControl:SplitLine      neu: Zugrif auf das Trennlinie-Objekt des Splitcontrol
CreateDynamicSplitPanel      neu: dynamisches Splitpanel erzeugen
dsSplitPanel:EnableCollapse      neu: Einklappen des Splitpanel erlauben
dsSplitPanel:GapBoder      neu: Abstand der äußersten Controls zum Seitenrand
dsSplitPanel:IsCollapsed      neu: ermitteln ob Splitpanel eingeklappt ist.
dsSplitPanel:IsDynamicPanel      neu: prüft auf dynamisches Splitpanel
dsSplitPanel:IsReleaseMem      neu: prüft ob Splitpanel die Resourcen wieder freigeben soll
dsSplitPanel:MinSize      neu: Minimumgröße für das Splitpanel setzen
dsSplitPanel:PanelID      neu: setzen/ermitteln der ID für das Splitpanel
dsSplitPanel:PanelInitBlock      neu: Codeblock für die Initialisierung eines dynamischen Splitpanel
dsSplitPanel:TitleBar      neu: Zugriff auf das Title-Object
dsTabPage:GapBoder      neu: Abstand der äußersten Controls zum Seitenrand
dsXBrowse:DefaultRecEditIcon      neu: Methode um das Defaulticon für RowEdit zu setzen
dsXBrowse:DefaultRowEditColor      neu: Defaultfarbe für RowEdit setzen
dsXBrowse:delete      erweitert: weiterer Parameter um einen vorhandenen DeleteBlock zu unterdrücken
dsXBrowse:SetSelectMode      erweitert: neue Konstante MARK_CHECKBOX
DbRecAppend      erweitert: Parameter für Index mit deleted()-Key Sortierung
decTrim      neu: numerischen Wert zu String konvertieren
DeleteDir      neu: Verzeichnis löschen
dsConfirmBox      erweitert: Optionen für den anzuzeigenden Text
ifEmpty      neu: Ermittelt ersten Wert der nicht empty() ist
ifNil      neu: identisch mit IfNull
MsgBoxPositionBlock      neu: Callbackslot für die Einstellungen einer Messagebox/dsConfirmbox
SetSelectimage      erweitert: neue Konstante MARK_CHECKBOX
YieldEventLoop      erweitert: verhindert ein Event für eine übergebene Klasse


Version 4.5 Build 199:

allgemeine Modifikation: die Einstellung von EnableFocusFrame einer Parentform bestimmt das Malen eines Fokusrahmen von Childcontrols.
Neu: das explizite Setzen von EnableFocusFrame für ein Childcontrol überschreibt die Defaulteinstellung des Parent.
Das Resize-verhalten wurde optimiert, speziell beim maximieren eines Dialogs.

dsReport      erweitert: Resize des Reortdialogs resized auch das Reportblatt
Tooltips      korrigiert: für Radiobutton, Checkbox, Combobox
dsApp:ChildMaximized      neu: maximiert den ersten Childdialog
dsAxToolbar:setitem      erweitert: syntaxkompatibel zu dsToolbar:setitem
dsBaseProperty:SetBaseProperty      hinfällig, umbenannt in SetInitProperty
dsBaseProperty:ThreadSave      neu: threadsicher
dsCalendar:EnableDayOutOfMonth      new: enable/disable Tage deren Monat außerhalb des angezeigten Monats ist
dsCombobox:setdata      erweitert: optionaler Parameter für Itemselected
dsSle:UsAsSleTimestamp      neu: behandelt SLE Wert als Timestamp mit Selectbutton für Datumsauswahl
dsSplitPanel:Center      geändert: jetzt Access/Assign Methode
dsSplitPanel:CenterGroup      geändert: jetzt Access/Assign Methode
dsTabPage:AccessAble      neu: Codeblock um den Zugriff auf dynamische Tabpages zu steuern
dsToolbar:setitem      erweitert: syntaxkompatibel zu dsAxToolbar:setitem
dsTreeview:Postvalidate      neu: Postvalidate wird ausgeführt wie bei jedem anderen Editcontrol
dsXBrowse:FixColWidth      neu: wenn True wird eine gesetzte Spaltenbreite beibehalten
dsXBrowse:Goto      erweitert: Zeilenposition für den Satz kann bestimmt werden
dsXBrowse:ResizeBlock      neu: Codeblock für nach einem Resize des Browse
dsXBrowse:RowPreValidate:      erweitert: jetzt auch für reines Zelledit
dsXBrowse:SearchRowPosition      neu: bestimmt die Zeile in der der gefundene Satz angezeigt werden soll
dsXBrowse:SearchRefresh      neu: Daten des Browse neu einlesen und dabei die Einstellung von :SearchRowPosition beachten
dsXColumn:EditAsTimestamp      neu: behandelt Zelledit Wert als Timestamp mit Selectbutton für Datumsauswahl
dsXColumn:PostSelectIndex      neu: Callbackslot nachdem ein Spaltenindex aktiviert wurde
dsSelectDate      erweitert: Parameter für DateSle für SLE Wert als Timestamp
EnableDayOutOfMonth      neu: Funktion für Default-Einstellung für enable/disable Tage deren Monat außerhalb des angezeigten Monats ist
NetUse2UNC      neu: transformiert Pfadangabe mit Laufwerk nach UNC Notation
nTrim      erweitert: Decimale in Abhängigkeit der angegebenen Präzision
SetAppDialog      korrigiert: :border muß innerhalb der Dialogklasse gesetzt werden
Usual2Var      neu: erweitert Xbase Var2Char()

Version 4.5 Build 198:
Add2String      neu: Datenwerte als String aneinanderhängen
DisableAppMenu4Edit      neu: globale Funktion um das Verhalten des App-Menüs während dem Edit-/Appendmode zu bestimmen
dsArrayServer:dbEval      neu: Anzahl Datensätze verarbeiten anhand unterschiedlicher Bedingungen.
dsArrayServer:dbInfo      neu: Setzen/ermitteln von Information des Servers
dsArrayServer:dbType      erweitert: der Type kann manuell gesetzt werden
dsArrayServer:Delete      neu: Satz/Sätze löschen
dsArrayServer:FileName      neu: Dateinamen setzen/abfragen
dsArrayServer:Modified      neu: Modified Status setzen/abfragen
dsArrayServer:TableName      neu: Gibt Dateinamen zurück
dsCheckBox:enableEdit      neu: Editierbarkeit wie im dsSLE bestimmen (Extended-Modus)
dsCheckBox:SetExtendMode      neu: Extended-Modus ein-/ausschalten
dsComboBox:DefaultSelected      neu: Auswahlliste bei Append auf bestimmte Position setzen
dsComboBox:enableEdit      neu: editable mit Wert setzen
dsConfirmbox      erweitert: Übergabe von 3 Zuständen an den Codeblock bSet, Buttons können ein Activate-Codeblock erhalten.
dsDataEditDialog:DisableAppMenu4Edit      neu: Verhalten des App-Menüs während dem Edit-/Appendmode zu bestimmen
dsDialog:enableChildResize      geändert: jetzt Acess/Asiign
dsDialog:Show      erweitert: weitere Parameter zum Vermeiden von Flackern beim Resize während des Aufbaus
dsEdit:Fieldname      neu: Feldname des verbundenen Datenbankfeldes
dsEdit:PreReadBlock      neu: sichert Feldwert zum Vergleichen :PreWriteBlock
dsEdit:PreWriteBlock      neu: prüft Satz auf Veränderung durch Vergleich des Feldinhaltes mit :PreReadBlock
dsFormGrid:FitIntoSize      new: Grid-Elemente in den Parent einpassen
dsFormGrid:MaxRow      neu: Anzahl Zeilen die mit AddRow() hinzugefügt wurden
dsHelp      geändert: System merkt sich die letzte Größe und Position des Hilfe-Dialogs
     Wenn der Hilfedialog im Editmode ist und der Helplabel geändert wird oder der Dialog geschlossen wird, werden Änderungen gespeichert
dsHistory:AddEntry      erweitert: weitere Parameter um einen existierenden Eintrag zu überschreiben
dsHistory:SaveHistory      erweitert: save/restore jetzt auch für Arrays möglich
dsMle:XKeyboard      geändert: Verarbeitung abhängig vom Rückgabewert des Codeblocks
dsReport:PreviewZoom      korrigiert:
dsReport printer selection      korrigiert: Combobox jetzt Typ XBPCOMBO_DROPDOWNLIST
dsRtf:DefaultFontSize      neu: Default Fontgöße
dsRtf:DefaultFontName      neu: Default Fontname
dsSelectSleValue      erweitert: Suchausdruck
dsSelectValue      erweitert: Suchausdruck
dsSle:Dateformat      neu: spezifiertes Datumsformat für ein SLE Objekt
dsSle:XKeyboard      geändert: Verarbeitung abhängig vom Rückgabewert des Codeblocks
dsStatusBar:getItem      erweitert: if NIL is passed an array with all items is returned
dsTabEditPage:DisableAppMenu4Edit      neu: Verhalten des App-Menüs während dem Edit-/Appendmode zu bestimmen
dsXBrowse:CursorChangeOnKillFocus      neu: Farbe des Cursors bei KillFocus wechseln
dsXBrowse:enableCursorFocusRect      neu: Focus-Rechteck um aktive Zelle/Zeile ausgeben
dsXBrowse:enableIndexColor      neu: Headerfarben im Browse für sortierbare Spalten zeigen
dsXBrowse:enableSelectIndex      erweitert: weiterer Parameter zur Bestimmung der Farbe/Image sortierbarer Spalten
dsXBrowse:enableSwitchDescend      erweitert: 4. Parameter für das Verhalten beim Umschalten des Index zwischen Ascend/Descend
dsXBrowse:GetActCol      neu: Gibt aktuelle Spaltennummer im Browse zurück
dsXBrowse:GetActRec      neu: Gibt aktuelle Record-Nummer im Browse zurück
dsXBrowse:GetActRow      neu: Gibt aktuelle Zeilennummer im Browse zurück
dsXBrowse:GetHiddenValue      neu: Wert eines hidden Feldes ermitteln
dsXBrowse:GetMousePos      neu: Ermittelt die Zeile/Spalte und das Gebiet in dem eine Maustaste gedrückt wurde
dsXBrowse:itemSelected      erweitert: der Codeblock bekommt das Event übergeben
dsXBrowse:PostSelectIndex1      neu: Callbackslot nach dem Umschalten des Indexes in einer Spalte
dsXBrowse:PostSelectIndex2      neu: Callbackslot nach dem Umschalten des Indexes in einer Spalte
dsXBrowse:RecUnlockBlock      neu: Codeblock um einen Satz zu entsperren
dsXBrowse:ResetIndexColHeader      neu: Header-Vordergrundfarben von Indexspalten bzw. das Spalten-Icon zurücksetzen
dsXBrowse:setHeadColorBG      erweitert: Hintergundfarbe für den Parent der Spaltenheader setzen
dsXBrowse:SetHiddenField      neu: Hidden Feld als Datalink hinzufügen
dsXColumn:EditDatalink      neu: optionaler Codeblock für das Editieren einer Datenzelle
dsXColumn:enableCursorFocusRect      neu: Focus-Rechteck um aktive Zelle ausgeben
dsXColumn:CursorChangeOnKillFocus      neu: Farbe des Cursors bei KillFocus wechseln
dsXColumn:HeadImageActivate      neu: Codeblock für Image im Header setzen/abfragen
dsXColumn:PreValidate      erweitert: oCol wird per Referenz übergeben, um eine andere Zelle zum Editieren anzusteuern
dsXColumn:UserDraw      erweitert: weiterer Parameter
DtoCC      neu: Umwandeln eines Datums in Charatcer, immer mit Jahrhundert
SetBrowseIndexColor      neu: Headerfarben im Browse für sortierbare Spalten zeigen
SetBrowseSelectIndex      erweitert: weiterer Parameter zur Bestimmung der Farbe/Image sortierbarer Spalten
SetBrowseSwitchDescend      erweitert: Parameter für das Verhalten beim Umschalten des Index zwischen Ascend/Descend
SetWaitPointer      erweitert: Progressbar wird gestarted wenn der Dialog oder die Applikation eine Statusbar mit Progressitem haben
WorkingBoxEx      neu: Workingbox mit Abbruch-Button

Version 4.5 Build 197:
dsAxToolbar:setItem      korrigiert: Parameter für ResID fehlte
dsBaseProperty      neu: gemeinsame Defaultwerte für alle Klassen
dsCheckbox:editAble      neu: EditAble wie beim SLE
dsConfirmbox      erweitert: weiterer Parameter um den Dialog zu modifizieren
dsDialog:CancelDestroy      neu: das :Destroy eines Dialogs abbrechen
dsDialog:Show      erweitert: neuer weiterer Typ des 1. Parameter
dsFile:Init      erweitert: weiterer Parameter für Buffersize
dsFile:Open      erweitert: weiterer Parameter für Buffersize
dsMenu:enable/disable      geändert: Verhalten des AppMenu modifiziert. s. Hilfe für dsMenu
dsMenu:enableItem      erweitert: optionaler 2. Parameter für AppMenu
dsRtf:Editable      neu: Editierbarkeit des RTF Controls setzen
dsRtf:enableEdit      neu: Editierbarkeit des RTF Controls setzen
dsRtfEx:Print      neu: RTF drucken
dsRtfEx:SelectPrinter      neu: Druckerauswahl vor dem Drucken anzeigen
dsSle:SelectModal      neu: Verhalten der Selectblock Funktion beeinflußen
dsSle:SetLongtextColor      neu: ColorFG/ColorBG für Longtext
dsTabControl:getPageByID      neu: Pageobjekt mittels seiner PageID ermitteln
dsXBrowse:IsSelected      erweitert: prüft ob eine Satznummer selektiert ist oder ob irgentein Satz selektiert ist
dsXColumn:HeaderTooltip      neu: Tooltip für dsXColumn-Header
SetEditColorBG      erweitert: 3. Parameter Farbe für required Editcontrol
aFileRead      erweitert: weiterer Parameter für Buffersize
AddMonth      neu: Anzahl Monate einem Datum hinzufügen/abziehen

Version 4.5 Build 196:
dsAxToolbar:activateItem      neu: evaluiert Activate-Ccodeblock eines Toolbarbutton
dsCargoValue:CloneCargo      neu: kopiert Cargo Values
dsDbServer:tablename      erweitert: optionaler Parameters für Art der Rückgabe von tablename()
dsEdit:EnableEditColorBG      neu: benutzt Colorsettings aus SetEditColorBG() oder Windows Default Farben
     korrigiert: Applikationsfehler falls ohne GUI kompiliert wurde
dsMenu:disableDummyItems      neu: Menuitems ohne Activate Funktion disablen
dsMle:CreateContextMenu      erweitert: 2 Controlgruppen für automatisches en-/disable abhängig vom Editierstatus
dsSle:CreateContextMenu      erweitert: 2 Controlgruppen für automatisches en-/disable abhängig vom Editierstatus
dsToolbar:activateItem      neu: evaluiert Activate-Ccodeblock eines Toolbarbutton
dsXBrowse:DefaultRecEditIcon      neu: Default-Icons (Sichern und Normal) für RecEditMode
dsXBrowse:DoMarking      neu: markieren/demarkieren von Sätzen
dsXBrowse:GetSelected      erweitert: weitere optionale Parameter
dsXBrowse:RowPrevalidate      neu: Prevalidierung beim Start von RowEdit
dsXBrowse:Selectblock      erweitert: Wenn der Codeblock False zurückgibt, wird der Markierungsprozess abgebrochen
dsXBrowse:SetSelected      erweitert: weitere optionale Parameter
dsXBrowse:SortSelected      neu: internes Selektionsarray sortieren
dsXColumn:DefaultFootColor      neu: Defaultfarbe für Vorder- und Hintergrund
dsXColumn:DefaultHeadColor      neu: Defaultfarbe für Vorder- und Hintergrund
dsXColumn:UserDraw      neu: Codeblock um in einer Zele zusätzliche Ausgaben mit GRA-Engine zu machen

Version 4.5 Build 195:
Mit XClass++ ab Version 4.4 werden Visual Styles unterstützt. Dafür wurden speziell dsXBrowse, dsTabControl, dsTabPage, dsPushButton und dsSplitPanel komplett redesigned.
dsTabcontrol unterstützt auch mit Visual Styles die Anordnung der PageRider oben oder unten.
Desweiteren können die PageRider seitlich gescrollt werden.
Neu ist ebenfalls die dsFormgrid Klasse. Hiermit können zur Laufzeit Dialoge dynamisch aufgebaut werden, ohne sich um Positionierungen kümmern zu müssen.
XClass unterstützt nun auch Applikationen, die einen speziellen Länderzeichensatz mit anderen Font Codepages benötigen.

Die Methode dsEdit:isHidden() wurde in die Klasse dsParent verschoben.
Jede Klasse in XClass ist von dsParent abgeleitet und hat somit die Methode IsHidden() und ein :Hide() Aufruf vor dem Create des Controls wird beachtet.
Korrigiert: Die Einstellung von EnableAppend(.F.) der dsDataDialog/dsTabpage wurde während des Starts nicht beachtet, wenn die verbundene Tabelle leer ist.

dsArrayServer:ordCreate      erweitert: optionaler Parameter für absteigende Reihenfolge
dsArrayServer:Seek      erweitert: optionale Parameter komp. zur Seek Methode des dsDbServer
dsArrayServer:SeekLast      erweitert: unterstützt Indextag
dsCalendar      korrigiert: wenn Position außerhalb des Bildschirms ist
dsContextMenu:itemSelected     neu: itemSelected wird jetzt unterstützt
dsDbServer      korrigiert: wenn Scope und Forscope gesetzt sind arbeitet :goBottom nicht einwandfrei
dsDialog:FixSize      neu: wenn True der Dialog behält seine Größe trotz Toolbar/Statusbar
dsDialog:Formgrid      neu: Methode um ein genutztes dsFormgrid-Objekt zu erhalten
dsDialog:GetControlByName      neu: Zugriff auf ein Control anhand seiner NameID
dsDialog:xclClientSize      neu: wirklich sichtbare Größe der ClientArea
dsCheckbox:defaultValue      neu: dsCheckbox beachtet :defaultValue
dsFormGrid:AddButtonRow      erweitert: nur für dsTabpages: Parameter für Abstand zum unteren Seitenrand
dsFormGrid:AddControl      neu: externes Control mit einer ID hinzufügen, damit es mit :GetControl() wieder ermittelt werden kann
dsFormgrid:init      erweitert: optionaler Parameter für GridID
dsFormGrid:GetControlOrder     neu: gibt Array mit Controls in deren Create-Reihenfolge zurück
dsFormgrid:GridID      neu: setzen/ermitteln einer eindeutigen String-ID für ein dsFormgrid
dsFormgrid:Status      neu: ermitteln des Xbase Objektstatus: XBP_STAT_INIT, XBP_STAT_CREATE
dsImage      korrigiert: Anzeige verschwindet
dsMenu:SetItem      geändert: werden Parameter wie Action oder Message geändert, werden diese auch an einen verbundenen Toolbarbutton weitergereicht
dsMenu:ResetItem      geändert: werden Parameter wie Action oder Message geändert, werden diese auch an einen verbundenen Toolbarbutton weitergereicht
dsMle:CreateContextMenu      erweitert: 2. Parameter um die Items des Default Contextmenüs im neuen Menü zu erhalten
dsPopupDialog:setPosBlock      neu: Codeblock um den Dialog während des Aufbaus zu positionieren.
dsPopupDialog:title      erweitert: wenn :titlebar nicg´ht gesetzt ist, erscheint :title in der Zeile des Close-Buttons
dsPopupDialog:titlebar      erweitert: wenn True erscheint der Dialog mit Titlebar
dsProgress:OnCancel      neu: Activate-Codeblock für den Cancel-Button
dsProgress:Reset      neu: Progressbar auf Null zurücksetzen
dsProgress:Terminate      neu: Progress terminieren. Der Dialog wird dabei nicht geschlossen!
dsRadioButton:getValue      korrigiert: after destroy :getValue didn't return the selected value
dsRtfHelp      korrigiert: übergebene Hilfetitel wurde nicht angezeigt
dsSle:CreateContextMenu      erweitert: 2. Parameter um die Items des Default Contextmenüs im neuen Menü zu erhalten
dsSle:disable      korrigiert: ein disable() vor dem :create() wurde nicht beachtet
dsSle:refreshLongText      neu: Longtext erneut anzeigen
dsSplitPanel:Formgrid      neu: Methode um ein genutztes dsFormgrid-Objekt zu erhalten
dsSplitPanel:GetControlByName      neu: Zugriff auf ein Control anhand seiner NameID
dsTabPage:Center      erweitert: neu PAGE_HCENTER, PAGE_VCENTER, PAGE_CENTER
dsTabpage:Formgrid      neu: Methode um ein genutztes dsFormgrid-Objekt zu erhalten
dsTabpage:GetControlByName      neu: Zugriff auf ein Control anhand seiner NameID
dsTooltip      korrigiert: ein chr(9) Zeichen (Tab) in der :Caption wurde nicht in Leerzeichen konvertiert
dsXBrowse:OnDestroyEdit      neu: Codeblock welcher evaluiert wird wenn ein Celledit-Control destroyed wird
dsXBrowse:PreSearch      erweitert: aktueller Suchstring wird per Referenz an den Codeblock übergeben
dsXColumn:SetIndex      erweitert: Codeblock für PreSearch. aktueller Suchstring wird per Referenz an den Codeblock übergeben
dsXCellBmp      korrigiert: Anzeige verschwindet
dsSelectSleValue      korrigiert: wurde der Index während der Selektion geändert, wurde er nach der Selektion nicht mehr zurückgesetzt
dsSelectValue      korrigiert: wurde der Index während der Selektion geändert, wurde er nach der Selektion nicht mehr zurückgesetzt
ISODow      neu: Wochentag eines Datums auf Basis Montag = 1
ResetWaitPointer      neu: setzt Mauszeiger auf Pfeilanzeige zurück
SetEditColorBG      neu: Default Hintergrundfarbe für Editcontorls in Abhängigkeit von enabled/disabled setzen
SetWaitPointer      neu: setzt Mauszeiger auf Stundenglas (Warten) und optional kann ein Progress mit Meldung gestartet werden
LDF files      korrigiert: abhängig von der CHARSET Einstellung wurden Umlaute manchmal nicht richtig angezeigt
LoadLanguage/LoadSysLanguage     korrigiert: wenn dieselbe Sprach-DLL zweimal hintereinander geladen wird
XLang.exe      korrigiert: wenn dei Funktion GetStringRes() nur die Konstante als Parameter ohne Kommaas enthält
XLANG.EXE      neu: mehrere Project-Dateien können über eine Auswahl verwaltet werden
XLANG.EXE      neu: wenn eine Projekt-Datei mehrer Targets enthält, können die Targets für den Sprachsuchlauf ausgewählt werden
XClass      geändert: XClass wird jetzt ohne den /ga Schalter kompiliert
     Wenn mit einem ANSI-Editor gearbeitet wird:
     sollte SET CAHRSET TO ANSI im Code gesetzt werden (am Besten direkt in PROC AppSys()).
     wenn der OEM Zeichensatz benutzt werden soll, muß die Applikation mit dem Schalter /ga kompiliert werden.
     siehe XClass Hilfe Hinweise->Anwendung Kompilieren

Version 4.5 Build 194:
- Diese Version wurde speziell für Windows 7 überarbeitet.
- dsReport bietet jetzt die Möglichkeit während des Reportaufbaus die Papierausrichtung, -größe und -schacht zu wechseln.
- dsMenu bietet jetzt die Möglichkeit neue Darstellungsstile zu nutzen.
  
dsAdsDic:Pack      erweitert: zusätzlicher Parameter um Indexe zu öffnen/nicht zu öffnen
dsBaseServer:ForceBreak      neu: im Fehlerfall wird ein BREAK ausgeführt
dsCalendar      korrigiert: Darstellung bei 120 dpi
dsCalendar      erweitert: wenn aSize bestimmt wird, wird die Fontsize automatisch ermittelt
dsDbServer:Seek      erweitert: weitere Parameter um nach dem letzten Eintrag von uSearch zu suchen
dsDic:Pack      erweitert: zusätzlicher Parameter um Indexe zu öffnen/nicht zu öffnen
dsGraProperty:currentSizeEx      neu: kompl. Breite des Controls incl. der Buttons
dsGraProperty:EnableColorBG      erweitert: als Methodenaufruf weitere Parameter für die Farbauswahl
dsGraProperty:EnableColorFG      erweitert: als Methodenaufruf weitere Parameter für die Farbauswahl
dsGraProperty:FontPreSelect      neu: Codeblock zur Einstellung des xbpFontDialog
dsGraProperty:LinkControl      neu: externes Control möglich, zur Darstellung der Einstellungen
dsGraProperty:SetFontProperty      neu: durch Übergabe des Array aus GetFontPorperty() neuen Font setzen/erzeugen
dsGraProperty:setPos/setSize      korrigiert: Position der Buttons
dsMenuItemProperty      neu: Klasse um Eigenschaften eines Menuitem zu setzen
dsRepDesign:CreateTable      erweitert: Property-Array für Daten erweitert um Anzahl Dezimalstellen und Picture
dsRepDesign:EndPageBlock      erweitert: Codeblock bekommt zusätzlichen Parameter übergeben um die Ausgabe der letzten Seite zu identifizieren
dsRepDesign:SetOrientation      neu: Papierausrichtung während des Reportaufbaus ändern
dsRepDesign:SetFormSize      neu: Papiergröße während des Reportaufbaus ändern
dsRepDesign:SetPaperBin      neu: Papierschacht während des Reportaufbaus ändern
dsReport:TextDPISetting      neu: Skalierung der Textgröße
dsReport:Printer      erweitert: akzeptiert auch Drucker-Devicenamen
dsReport:PrintRow      erweitert: Property-Array für Daten erweitert um Anzahl Dezimalstellen und Picture
dsReport:setFormSize      neu: Papierformat setzen (siehe Xbase Hilfe setFormsize)
dsReport:setPaperBin      neu: Papierschacht setzen (siehe Xbase Hilfe setPaperBin)
dsReportTable:AvoidHeadPrint      neu: Ausgabe des Tabellenkopfes unterdrücken
dsReportTable:ColBreakData      neu: Array mit Spaltennummern ebi denen ein Newline erfolgt
dsReportTable:Init      erweitert: Property-Array für Daten erweitert um Anzahl Dezimalstellen und Picture
dsReportTable:RowHeight      neu: Höhe der aktuellen Zeile
dsSubMenuProperty      neu: Klasse um Submenü-Eigenschaften zu setzen
dsXBrowse:BuildGroupHeader      korrigiert: neuer Groupheader nach dem Create führte zum Fehler
dsXBrowse:colorblock      erweitert: weiterer Parameter an den Codeblock um zu erkennen ob die Alternate Hintergrundfarbe genommen werden soll
dsXColumn:colorblock      erweitert: weiterer Parameter an den Codeblock um zu erkennen ob die Alternate Hintergrundfarbe genommen werden soll
GetAppPrinterList      neu: gibt Array mit verfügbaren Drucker-Devicenamen zurück
SetMenuBarTextColor      neu: Farben Grundeinstellung für vertikalen Text in Menüs
SetMenuBarTextFont      neu: Font Grundeinstellung für vertikalen Text in Menüs
SetMenuColor      neu: Farben Grundeinstellung für Menüs
SetMenuStyle      neu: Grundeinstellung für die Darstellung von Menüs
dsMenu:AddItem      erweitert: Returnwert geändert und Images für disabled/enabled Item möglich
dsMenu:BarTextFont      neu: Font für vertikalen Text in Menüs
dsMenu:GetItemProperty      neu: get dsMenuItemProperty object of an item
dsMenu:InsItem      erweitert: Returnwert geändert und Images für disabled/enabled Item möglich
dsMenu:ResetItem      erweitert: Returnwert geändert und Images für disabled/enabled Item möglich
dsMenu:SetItem      erweitert: Returnwert geändert und Images für disabled/enabled Item möglich
dsMenu:SetBarTextColor      neu: Farben für vertikalen Text in Menüs
dsMenu:SetBitmap      erweitert: Images für disabled/enabled Item möglich
dsMenu:SetMenuColor      neu: Farben für die Menuüs
dsMenu:Style      neu: Einstellung für die Darstellung des Menüs

Version 4.5 Build 193:
dsCalendar      geändert: unterstützt Einstellung von UseVisualStyle
dsDic:Refresh      neu: Dictionary neu einlesen
dsEdit:SetFocusToCtrl      erweitert: 2. Parameter um den Focus auf self zu setzen
dsFormgrid      korrigiert: Kalkulation von rechtsbündigen Buttons
dsFormgrid:InsItem      erweitert: weiterer Parameter für Flächencontrols wie z.B. Listbox
dsPopDialog      geändert: wenn das Parentcontrol des Popupdialogs den Focus verliert, schließt der Popupdailog
dsProgressBar      geändert: unterstützt Einstellung von UseVisualStyle
dsProgressBar:Autorun      korrigiert: Verarbeitung übergebener Werte
dsProgressBar:SetPosAndSize      neu: kompatibel zu Xbase++
dsSle      korrigiert: wenn kein Picture gesetzt ist und unterschiedliche Variablentypen dem SLE zugewiesen werden
dsSle      korrigiert: Picture "@KD" wir´d nicht erkannt wenn weder Wert noch Datalink gesetzt sind
dsSle:currentSizeEx      erweitert: optionaler Parameter um Größe mit/ohne Longtext zu ermitteln
dsSle:setSizeEx      neu: setzt Größe inklusiv eines Selectbutton und Longtext
dsSplitControl      geändert: unterstützt Einstellung von UseVisualStyle
dsTabControl      geändert: unterstützt Einstellung von UseVisualStyle
dsTabPage      korrigiert: wenn Page beim Start größer als das TabControl ist erschienen keine Scollbars
dsTabPage:PageArea      neu: direkter Zugriff auf Pagearea welche der Parent der DrawingArea ist
dsXBrowse:getStableBlock      neu: Codeblock anhand seiner ID ermitteln
dsXBrowse:Rebuild      korrigiert: mit Groupheader wurde ein Fehler erzeugt
dsXBrowse:SelectButtonPos      neu: Default Positionierung von CellEdit Controls mit Auswahlbutton im Browse.
dsXBrowse:SetFreeze      korrigiert: manchmal waren Teil der Daten oder Header nicht sichtbar
dsXColumn:SelectButtonPos      neu: Positionierung von CellEdit Controls mit Auswahlbutton in der Spalte
SetBrowseSelectButtonPos      neu: Default Positionierung von CellEdit Controls mit Auswahlbutton.
OpenOdbcServer      erweitert: weitere Parameter für Shared und Readonly
XLang.exe      erweitert: erkennt GetStringRes-Ausdruck ohne Komma oder Text

Version 4.5 Build 192:
neue Controls und Funktionen:     
dsArrayServer      neu: Array als Serverobjekt, verhält sich wie ein Datenbank Server Objekt
dsDefaultMle      neu: Klassencontainer für MLE Defaulteinstellungen
dsGraProperty      neu: Control zum Setzen der Voder-/Hintergrundfarbe und des Font (siehe Demo dsGraProperty)
dsProgressBar      neu: Progressbar Control
dsCloneFont      neu: erzeugt ein neues Fontobjekt mit denselben Eigenschaften wie das übergebene
dsCopyFont      neu: kopiert die Eigenschaften eines Font in einen anderen
EnableAutoSleDate      neu: SLE mit einem Datumswert wird als dsSleDate mit Selectbutton und Kalender benutzt
MleDefaultSetting      neu: Funktion um Defaultwerte für MLEs in der Applikation zu setzen (thread save)
dsPopupDialog      neu: Popup Dialog z.B. für Datenauswahl
dsSleStatic      neu: SLE welches ein Static-Control simuliert aber die copy/datalink Fähigkeiten des SLE beibehält
SelectColorPalette      neu: Farbauswahl über die Windows Farbpalette. Gibt einen numerischen RGB Farbwert zurück
SelectColorPaletteRGB      neu: Farbauswahl über die Windows Farbpalette. Gibt ein RGB Farbarray {r,g,b} zurück
SetDefaultBrowseHeadFont      neu: Default-Font für Browse Spaltenheader setzen
SetDefaultBrowseFootFont      neu: Default-Font für Browse Spaltenfußzeile setzen
dsLang.exe      neu:Tool um das Entwickeln von multilanguage Applikationen zu vereinfachen
    
weitere Modifikationen:     
dsApp:SetSplashColorBG      neu: Hintergrundfarbe Splashbild
dsButton, dsPushbutton, dsToolbar      verbessert: Darstellung von Icons
dsCalendar      neu: die Buttons für Monatswechsel und Schließen sind mit Bild unter Visual Style
dsComboBox:addItem      erweitert: der 2.Parameter per Referenz erhält die Position des letzten Elements
dsDateSle      korrigiert: Position des Dialogs für Datumsselektion nicht mehr außerhalb des Bildschirms
dsDialog:PreparePosAndSize      neu: Dialoggröße und -position vor dem Show ändern
dsDialog:show      erweitert: Parameter für Dialog maximiert oder mit spezieller Pos und Size öffnen
dsDialog:EndDialog      korrigiert: wenn modal und :EndDialog() enthält mehr als einen Parameter, wurden diese nicht zurückgegeben
dsEdit:defaultValue      korrigiert: DefaultValue setzt den Wert nur wenn der Parent im AppendModus ist
dsEdit:ForceDefaultValue      neu: erzwingt das setzen des Defaultwertes unabhängig vom Appendmodus des Parent (leere Werte werden ersetzt)
dsIniFile:getSection      geändert: die Rückgabewerte sind ohne Kommentare
dsItemButton      neu: Statusbaritem als Pushbutton mit Unterstützung von Visual Styles
dsListBox:enableUnselect      neu: ermöglicht das Deselektieren eines Items wenn der :markMode XBPLISTBOX_MM_SINGLE ist
dsMenu:preContext      erweitert: wenn der Codeblock False zurückgibt wird kein Contextmenü angezeigt
dsMle:ignoreEnter      neu: Enter Taste führt zum Controlwechsel, Ctrl-Enter führt zum Zeilenumbruch
dsProgress:Advance      erweitert: neuer Parameter lForce
dsProgressBar      neu: Progressbar-Control
dsRepDesign:StartTextBreak      neu: ermöglicht eine neue Zeile für einen Text in PrintText/PrintRow.
Alle folgenden Ausgaben erkennen die neue Zeile
dsRepDesign:EndTextBreak      neu: Beendet "neue Zeile" für einen Text in PrintText/PrintRow
dsSelectValue, dsSleSelectValue      erweitert: Selektionsdialog jetzt mit Toolbar
dsSle:_DoSelectDate      neu: interne Methode zur Datumsselektion für dsSleDate
dsSle:EnableAutoSleDate      new: überschreibt die EInstellung der globalen Funktion EnableAutoSleDate() für dieses Control
dsSle:UseAsSleDate      neu: dsSle als dsSleDate benutzen
dsSleDate      korrigiert: Position des DateSelection-Dialogs kann nicht mehr außerhalb des Desktops sein
dsXBrowse      korrigiert: Spaltenheader mit mehr als zwei Zeilen möglich
dsXBrowse:AlternateRowColor      neu: ermöglich alternierende Zeilenfarben
dsXBrowse:EnableAutoSleDate      neu: Spalten mit Datum werden mit dsSleDate editiert mit SelectButton und Kalender
dsXBrowse:SetAlternateRowColor      neu: setzt Farbe für alternierende Zeilenfarben
dsXBrowse:SaveEdit      neu: Speichert beide Modis: Zellen- oder Zeilenedit
dsXBrowse:CancelEdit      neu: Beendet beide Modis: Zellen- oder Zeilenedit
dsXBrowse:SearchWinText      neu: "Suche:" Text im Searchwindow setzen
dsXBrowse:SelectColIndex()      erweitert: wenn übergebener Wert für die Spalte 0 ist wird der Index auf 0 gesetzt
dsXColumn:CellEditType      enhanced: neu Controltyp: CELL_SLEDATE
dsXColumn:CreateHeaderContextMenu      neu: Contextmenü für Spaltenheader
dsXColumn:EditCtrlProperty      chanced: diese Methode ist die frühere EditCtrlAssignment. Die alte Methode bleibt gültig.
dsXColumn:EnableAutoSleDate      neu: Spalten mit Datum werden mit dsSleDate editiert mit SelectButton und Kalender
dsXColu:HeaderContextMenu      neu: Zugriff auf das Contextmenü des Spaltenheader
dsXColumn:IsHeaderContextMenu      neu: prüft of ein Contextmenü des Spaltenheader existiert
all dsBrowseChoice functions      erweitert: Selektionsdialog jetzt mit Toolbar
CreateDir      geändert: die Funktion gibt True zurück wenn das Verzeichnis existiert
dsBrowseMultiChoice      geändert: wenn der Dialog abgebrochen wurde wird NIL zurückgegeben, ansonsten ein Array mit gewählten Sätzen
"V_" validation functions      korrigiert: der direkte zweite Aufruf der Validierung gab immer True zurück

Version 4.4 Build 191:
dsAxToolbar:AddItem      erweitert: Caption für Menübuttons mitBild
dsAxToolbar:AddItemXB      neu: addItem anaolg zu xbpToolbar:additem
dsButton:Icon/SetIcon/DisabledIcon      erweitert: Icon kann in einer anderen DLL/EXE liegen
dsCalendar      korrigiert: Fehler beim Monatsskippen und minDate ist gesetzt
dsCalendarDialog:enableBorder      neu: Border für modalen dsCalendarDialog
dsDialog:Enddialog      korrigiert: Enddialog im modalen Dialog akzeptiert NIL als Parameter und gibt diesen mit ShowModal() zurück
dsDialog:GetControlByName      geändert: nach Xbase:ChildFromName() gemappt
dsPushButton:Icon/SetIcon/DisabledIcon      erweitert: Icon kann in einer anderen DLL/EXE liegen
dsSplitpanel      erweitert: Resizeverarbeitung verbessert, siehe Demo: splitter
dsSplitPanel:GetControlByName      geändert: nach Xbase:ChildFromName() gemappt
dsTabPage      erweitert: Resizeverarbeitung verbessert, siehe Demo: app_mdi
dsTabPage:GetControlByName      geändert: nach Xbase:ChildFromName() gemappt
dsTabPage:SetBitmap      erweitert: bitmap kann in einer anderen DLL/EXE liegen
dsTabPage:SetIcon      erweitert: bitmap kann in einer anderen DLL/EXE liegen
dsToolbar:addItem      erweitert: Icon kann auch als Icon-Filename übergeben werden
dsToolbar:ImagePosAndSize      neu: Pos und Size eines Bildes innerjalb des Toolbarbutton setzen
dsXBrowse:      korrigiert: Checkbox editieren war falsch
     korrigiert: manchmal die Breitenänderung einer gefreezten Spalte falsch
     korrigiert: wenn Browse nicht kmpl. gefüllt war eine UP Bewegung konnte zu einem Fehler führen
dsXBrowse:Footer      korrigiert: right trimed Footcaption war manchmal nicht sichtbar
dsXBrowse:SearchWindow      korrigiert: mit Visual Styles erfolgte das Refreshen zu oft
Focusframe      korrigiert: das Painten des Focusrahmens war manchmal falsch
CreateDir      korrigiert: bei leeren Laufwerken wurde kein Directory erzeugt
Doy2D      neu: Gegenstück zu doy()
dsSelectDirectory      geändert: wenn Cancel-Button aktiviert wird, gibt die Function NIL zurück
EnableCalendarBorder      neu: Default Funktion um Rhamen für modalen dsCalendarDialog zu setzen
aFileReadEx      erweitert: es kann der Dateinamen oder ein Stringbuffer übergeben werden
Sec2Time      neu: berechnet die Zeit aus Sekunden
Time2Sec      neu: berechnet die Sekunden aus Zeit

Version 4.4 Build 190:
Resize dsXBrowse vor Show-Aufruf      korrigiert: Spaltenheader war u.U. nicht sichtbar
dsInfile      erweitert: aktzeptiert jetzt Einträge wie ENTRY={|x| iif(x=="A", .T., .F.)} Dies bedeutet das nur das erste Gleichheitszeichen als Seperator beachtet wird.
modaler Dialog      korrigiert: wird ein modler Dialog geschlossen, konnte u.U. ein kurzes Flackern des Parentdialogs entstehen
dsButton/dsTabPageIcon/Bitmap      korrigiert: wenn Button/Tabpage disabled ist wurde Icon/Bitmap nicht disabled dargestellt
dsCalendar      erweitert um "Close" Button
dsPushButton:Icon/Bitmap      korrigiert: wenn Button disabled ist wurde Icon/Bitmap nicht disabled dargestellt
dsPushImage:Icon/Bitmap      korrigiert: wenn Button disabled ist wurde Icon/Bitmap nicht disabled dargestellt
dsPushButton:CaptionPos      neu: access/assign Position der Caption
dsPushButton:ImagePos      neu: access/assign Position des Image
dsPushImage:setAutoSize      erweitert um SizeMode 0=Imagegröße wird nicht angepaßt, 1=Imagehöhe wird angepaßt, 2=Imagegröße wird angepaßt
dsPushImage:ImageSize      neu: access/assign Größe des Image

Version 4.4 Build 189:
BoM      neu: Datum des 1. eines Monats
BoW      neu: Datum des Montags einer Woche
DoY      neu: Industriedatum, Tag im Jahr, ermittelt Anzahl Tage seit Jahresbeginn
Eastern      neu: Datum von Ostern
EoM      neu: Datum des letzten Tages eines Monats
MoM      neu: Datum des 1. Montags in einem Monat
QofY      neu: Quartal eines Monats oder Datums
dsCalendar     neu: Kalender Control
dsCalendarDialog     neu: Dialog mit Datumauswahl über dsCalendar
dsDataEditDialog:Registerselector     neu: Auswahldialog anmelden
dsDataEditDialog:Unregisterselector     neu: Auswahldialog abmelden
dsDialog:setQueryClose     erweitert: akzeptiert auch NIL
dsPushButton     korrigiert: Bitmap für/mit disabled Button
dsSelectDate     neu: Funktion für Datumsauswahl über dsCalendar
dsSleDate     neu: SLE mit integrierter Datumsauswahl über dsCalendar
dsTabEditPage:Registerselector     neu: Auswahldialog anmelden
dsTabEditPage:Unregisterselector     neu: Auswahldialog abmelden
SetAppFont      neu: Font für alle Controls setzen
    
Version 4.4 Build 188:
ClearKeybuffer      erweitert: Objekt kann übergeben werden dessen Keyboard-Events beseitigt werden
dsApp:SplashBlock     neu: Siehe Beispiel SplashMenu
dsAxToolbar:enableScroll      neu: Scrollbutton anzeigen wenn Toolbar nicht voll sichtbar ist
dsAxToolbar:setTooltip      neu: Setzen eines Tooltip
dsBaseServer:getFilterBlock     neu: Codeblock für Filter Bedingung
dsBaseServer:pushstate     korrigiert: sichert und stellt Xbase++ dbSetFilter korrekt wieder
dsBaseServer:popstate      korrigiert: sichert und stellt Xbase++ dbSetFilter korrekt wieder
dsCargoValue      neu:alle Klasses sind von dsCargoValue abgeleitet. Damit können beliebige Werte gespeichert werden
dsConfirmbox      erweitert: Vorder- und Hintergrundfarbe können bestimmt werden
dsDataEditDialog:SetEditBlock     neu: Callbackslot für SetEditMode
dsDbServer:goto     korrigiert: verhält sich wie Xbase++ dbgoto, Voreinstellung des 2. Parameter ist TRUE
dsDbServer:IndexKeyValue     erweitert: optionaler Parameter für Tag/Order
dsDbServer:SeekLast      erweitert: optionaler Parameter für Index
dsDic:OpenGlobalServer     erweitert: öffnet globale Tabellen
dsDic:TableExist     neu: Ermitteln, ob Datei im DIC eingetragen ist
Dictionary      neu: Flag um globale Tabellen zu deklarieren
dsEdit:ForceValidate     neu: erzwingt Validierung auch für nicht editierbares Control
dsEdit:ignoreEditMode      neu: Edit Zustand eines Controls nicht durch parent:setEditMode ändern
dsFormGrid      neu: Klasse für dynamisch aufgebaute Dialoge mit automatischer Positionierung
Hilfesystem      erweitert: ein Feld "POS" innerhalb der Hilfetabelle. Damit kann innerhalb "SECTION" sortiert werden. Hierfür benötigt die Tabelle folgenden Index: Tagname: "SECPOS" Key: upper("SECTION")+upper("POS")+upper("HELPID"). Desweiteren können die Felder SECTION und POS im Übersichtsbrowse der Hilfe editiert werden.
dsHelp:CloseDB      neu: Schließen des Hilfe Serverobjekts
dsHelp:OpenDB     neu: Hilfe mit Serverobjekt verknüpfen.
dsIniFile:getPathEntry      erweitert: 4. Parameter um relative Pfadeinträge mit dem Exe-Pfad zu vervollständigen
dsMenu:ActivateBlock      neu: get/set den Activateblock eines Menu Eintrages
dsOBrowse      neu: der bisherige dsXBrowse. Er kann als statische DLL XCLOBrowse.dll benutzt werden. (Visual Style wird nicht unterstützt)
dsOPushButton      neu: der bisherige dsPushbutton (Visual Style wird nicht unterstützt)
dsOPushbutton:setColorExBG      neu: Hintergrundfarbe
dsOPushbutton:setColorExFG      neu: Vordergrundfarbe
dsPickList      erweitert: 11. Parameter um die rechte Listbox mit neuen Werten zu belegen
dsPrintProperty      neu Klasse zum Setzen der Einstellungen des Dialoges für Druckereinstellungen
dsPushButton      neu: ist von xbpPushbutton abgeleitet, unterstützt Visual Style und ist codecompatibel zu dem vorhergehenden dsPushButton. Er unterstützt alle erweiterten Funktionalitäten seines Vorgängers.
dsPushbutton:imageBorder      neu: X/Y Abstand des Image zum Buttonrand festlegen
dsPushbutton:setColorExBG      neu: erweitert Hintergrundfarben
dsPushbutton:setColorExFG      neu: erweitert Vordergrundfarben
dsReport      neu: im Preview Fenster können Druckereinstellungen gesetzt werden
dsReport:enablePrint      neu: enable/disable Drucker Einstellungen
dsReport:PrintProperty      neu: Object von dsPrintProperty
dsSelectSleValue     erweitert: Parameter uField kann auch Codeblock sein
dsSle:SelectBlock     erweitert: Löschen der Einstellungen
dsSle:SetLongText     erweitert: Löschen der Einstellungen
dsSle:UserButton      neu: Pushbutton, welcher :selectButton ersetzt
dsSplitControl     neu überarbeitet, unterstützt Visual Styles
dsSplitPanel      neu überarbeitet, unterstützt Visual Styles
dsSplitPanel:destroyBlock      neu: Destroyblock setzen. Wird vor dem Destroy des Dialogs evaluiert.
dsSplitPanel:GetControlByName     neu: Ermitteln eines Controls über Setname()
dsStatic:nameID      neu: siehe dsEdit:nameID
dsTabControl      neu überarbeitet, unterstützt Visual Styles
dsTabPage      neu überarbeitet, unterstützt Visual Styles
dsTabPage:destroyBlock      neu: Destroyblock setzen. Wird vor dem Destroy des Dialogs evaluiert.
dsToolbar:addItem      erweitert: 8. Parameter um die Bitmap Transparenz zu bestimmen
dsToolbar:enableScroll      neu: Scrollbutton anzeigen wenn Toolbar nicht voll sichtbar ist
dsToolbar:setTooltip      neu: Tooltip setzen
dsTooltip:tooltipEventBlock      neu: Callbackblock zur Manipulation der Position und Größe eines Tooltips
dsTabPage:GetControlByName      neu: Ermitteln eines Controls über Setname()
dsXBrowse      neu: redesigned, unterstützt Visual Style, Darstellung von beliebiger Anzahl von Spalten. Die Klasse ist codecompatibel zum vorhergehenden dsXBrowse.
dsXBrowse:ActiveColumn      neu: Zugriff auf dei aktive Spalte
dsXBrowse:changeState      neu: dsXbrowse unterstützt einen eigenen ChangeStateHandler, siehe dsEdit:changeState
dsXBrowse:ClearSelected      neu: Löschen aller Markierungen
dsXBrowse:Colpos      erweitert: es kann auch ein Spaltenobjekt übergeben werden
dsXBrowse:EnableRowEdit      erweitert: Hintergrundfarbe
dsXBrowse:EvalBulkColWidth      neu: alle geänderten Spalten in einem Zyklus anzeigen (höhere Performance, kein Flackern)
dsXBrowse:goto      erweitert: 2. Parameter um den Datenbuffer neu einzulesen
dsXBrowse:headerLbUp     neu: Header Codeblock für Mausevent xbeM_LbUp bestimmen
dsXBrowse:headerRbDown     korrigiert: Header Codeblock für Mausevent xbeM_RbDown bestimmen
dsXBrowse:hitLeftblock     neu: Codeblock, wenn der Spaltencursor links von der 1. Spalte positioniert werden soll
dsXBrowse:hitRightblock     neu: Codeblock, wenn der Spaltencursor rechts von der letzten Spalte positioniert werden soll
dsXBrowse:IsBulkColWidth      neu: Zustand von StartBulkColWidth
dsXBrowse:PreSelectIndex      erweitert: setIndex Parameter
dsXBrowse:Repaint      erweitert: optional Repaint für Zeile(n) und Spalte(n)
dsXBrowse:SearchWinButton      neu: optional Pushbutton zur Sucheingabe
dsXBrowse:SearchWinFont      neu: xbpFont-Objekt für Browse-Searchwindow
dsXBrowse:SearchWinFontCompoundName      neu: FontCompoundname für Browse-Searchwindow
dsXBrowse:Seek      erweitert: mit allen Tabellenservern verwendbar
dsXBrowse:setFont      neu: xbpFont-Objekt für alle oder einzelne Spalten setzen
dsXBrowse:setFontCompoundName      geändert: FontCompoundName für alle oder einzelne Spalten setzen
dsXBrowse:SetHiLiteColor      neu: Farbe des Cursors setzen
dsXBrowse:SetselectMode      erweitert: Hintergrundfarbe
dsXbrowse:ShowSelected     neu: nur selektierte Särtze anzeigen
dsXBrowse:softSeek     neu: Suche erfolgt generell über diese Softseek Einstellung
dsXBrowse:StartBulkColWidth      neu: Beginn von mehreren Änderungen der Spalten Eingenschaften
dsXColumn:dataFontObject      neu: xbpFont-Objekt für Spalten Data Area
dsXColumn:footFontObject      neu: xbpFont-Objekt für Spalten Fuß
dsXColumn:headFontObject      neu: xbpFont-Objekt für Spalten Header
dsXColumn:searchBlock      neu: für spaltenspezifische Suche
dsXColumn:setFont      neu: xbpFont-Objekt für Spalten Data Area
dsXColumn:SetIndex      erweitert: optional: Indexschlüssel kann übergeben werden
dsXColumn:Setwidth     neu: Spaltenbreite in Pixel setzen
dsXColumn:ShowMemoDialog      neu: Memofeldinhalt im Dialog anzeigen
dsXColumn:softSeek      neu: Softseek Einstellung für die Spalte
FoxTimeStamp      neu: erzeugt Timestamp String für FOXDBE Tabellen
ifNull      neu: Ermittelt ersten Wert der ungleich NIL/NULL ist
IsAppHelp      neu: Prüft auf aktive Applikations Hilfe
RemoveEvent      erweitert: Paramenter für Objekt
SetDefaultBrowseFont      erweitert: akzeptiert jetzt FontCompoundname oder xbpFont-Objekt
SetDefaultButtonFont      erweitert: akzeptiert jetzt FontCompoundname oder xbpFont-Objekt
SetDefaultCodePage      neu: Default Codepage für Applikation
SetDefaultEditFont      erweitert: akzeptiert jetzt FontCompoundname oder xbpFont-Objekt
SetDefaultMessageFont      erweitert: akzeptiert jetzt FontCompoundname oder xbpFont-Objekt
SetDefaultMleFont      erweitert: akzeptiert jetzt FontCompoundname oder xbpFont-Objekt
SetDefaultTabRiderFont      neu: Default FontCompoundname oder xbpFont-Objekt für Tabrider
SetDefaultTextFont      erweitert: akzeptiert jetzt FontCompoundname oder xbpFont-Objekt
YieldEventLoop      erweitert: Parameter aExclude
BOW      neu: Datum des Montags eines beliebigen Datums in einer Woche.
DoY      neu: Industriedatum, Tag im Jahr, ermittelt Anzahl Tage seit Jahresbeginn
MoM      neu: 1. Montag in einem Monat