
Ab heute steht die Version 5.7.07 zum Download bereit.
Die Version umfasst folgende Erweiterungen:
Server
- Optimierter Ladevorgang des Cache-Inhalts
Die Wiederherstellung des Cache-Inhalts des Datenbankservers wurde beschleunigt. Wenn der Einlesevorgang länger dauert, finden in dieser Zeit Update-Ereignisse statt, bei denen die geänderten Daten sowohl in die Transaktionslogs (.tl?), als auch in die Datenbank geschrieben werden. - Datenbankpuffer beim Öffnen befüllen
In der Serverkonfiguration kann mit der Datenbank-Einstellung „Puffer beim Öffnen befüllen“ definiert werden, dass die Datenbank in den Puffer geladen wird, wenn keine gültige Pufferbelegungsdatei (.cache) vorhanden ist. Diese Einstellung wird nur ausgewertet, wenn auch die Einstellung „Pufferinhalt sichern und wiederherstellen“ aktiviert ist. - Update-Events bei der Hot-Standby-Synchronisation
Während einer längeren Hot-Standby-Synchronisation finden Update-Events statt, bei denen die Daten in die TL-Dateien geschrieben werden. - Verkürztes Update-Intervall
Das Standard-Intervall, in dem Update-Ereignisse durchgeführt werden, wurde von 60 auf 30 Sekunden verkürzt.
SOA-Service
- Aktualisierung der OpenSSL-Bibliothek
Die verwendete OpenSSL-Bibliothek wurde auf die Version 1.01g aktualisiert. Diese Version ist vor der sogenannten „Heartbleed“-Attacke, die zum Auslesen des privaten Schlüssels aus dem Hauptspeicher des Servers verwendet werden konnte, geschützt. Das betrifft vorwiegend die Betriebsart „SOCKET“ unter Verwendung eines Zertifikats. - Shared Objects vom SOA-Task unter Linux ladbar
Mit den BefehlenDllLoad(),DllCall()undDllUnload()können nun auch Shared Objects unter Linux analog zu DLLs unter Windows geladen und verwendet werden. - Neue Option
tls_security_levelfür verschlüsselte Verbindungen
In der Konfigurationsdatei des SOA-Tasks der Betriebsart „SOCKET“ kann für verschlüsselte Verbindungen über die Optiontls_security_levelder Mindestsicherheitslevel definiert werden.
Laufwerkstreiber
- Der Laufwerkstreiber wurde auf die neuste Version für Windows 8.1 und Windows Server 2012 R2 aktualisiert. Damit der neue Treiber verwendet werden kann, ist ein Update des SOA-Service als auch des Laufwerkstreibers über die Installationsroutine notwendig. Andernfalls wird beim Start die Meldung „Driver not installed“ in die Protokolldatei des Laufwerkstreibers geschrieben.
- Rückgabe von
_ErrNameInvalid
Wird vom zugehörigen Socket-Task der Fehlercode_ErrNameInvalidgeneriert, wird dieser vom Drive-Task nun auch entsprechend an das Betriebssystem weitergegeben.
Designer
- BLOb-Verwaltung
Der Designer wurde um eine BLOb-Verwaltung erweitert.
Weiterführender Artikel: NEU: BLOb-Tools jetzt auch im Designer! - Objekte oben / unten ausrichten
Sind mehrere Oberflächenobjekte selektiert, können diese im Kontextmenü unter Ausrichtung am obersten bzw. untersten selektierten Objekt ausgerichtet werden. - Neue Standard-Elementgruppe in der Benutzerpflege
Mit der neuen Standard-Elementgruppe_blobkönnen die Rechte des Benutzers für den Zugriff auf binäre Objekte in der BLOb-Verwaltung definiert werden. Momentan werden die Rechte_UrmIdePermRead,_UrmIdePermCreate,_UrmIdePermModifyund_UrmIdePermDeleteausgewertet. Ist das Recht_UrmIdePermReadnicht vorhanden, wird der Menüpunkt BLOb-Verwaltung im Menü Extras deaktiviert. Standardmäßig besitzt nur die Benutzergruppe _Administrators Rechte auf die Elementgruppe_blob.Zusätzlich wurde die Konstante_UrmTypeElmBlobhinzugefügt, um die Rechte mit den Prozedurbefehlen zu definieren. - Verbesserte Anzeige der Elementgruppenzuordnung in der Benutzerverwaltung
Die Anzeige der Elementgruppenzuordnung wurde optisch verbessert und es ist nun eine Legende vorhanden, welche den Zweck der Symbole (Häkchen gesetzt, Häkchen entfernt, kein Häkchen) erklärt. Zudem sind bei den Standard-Elementgruppen alle Rechte deaktiviert, die für diese Gruppen nicht gesetzt werden können. - Anzeige „Neue Online-Hilfe“
Der Hilfe-Balloon im Designer, der anzeigt, dass eine neue Hilfe-Datei vorliegt, wird nicht mehr angezeigt. - Aufruf der Datensatzverwaltung
Zum Aufruf der Datensatzverwaltung benötigt der Benutzer die Rechte_UrmPermReadund_UrmIdePermReadauf der Standard-Elementgruppe_tableoder einer Elementgruppe, die mindestens eine Tabelle enthält. Im Designer wird der Menüpunkt deaktiviert, wenn der Benutzer diese Rechte nicht hat. - Datensatzverwaltung: Mehr als 100 Felder in Datensatzliste anzeigen
Über die Feldliste können jetzt Spalten ein- und ausgeblendet werden. Beim Öffnen des Fensters werden maximal 50 Spalten angezeigt. 100 Spalten können maximal angezeigt werden.
Debugger
- Exponential-Darstellung von Fließkomma-Variablen
In der Liste der überwachten Variablen können Float-Werte nun in Exponential-Darstellung angezeigt werden. Hierzu gibt es den Menüpunkt „Exponential-Darstellung für Float-Werte“ im Menü. Die Anzeige kann auch über die Einstellungen gesetzt werden.
Programmierschnittstelle
- Neue Bibliothek für Visual Studio 2005
Im Verzeichnis Api\Lib wird nun eine Link-Library für den Einsatz mit Microsoft Visual Studio 2005 oder höher mitgeliefert. Die bisher für Microsoft Visual Studio 6 oder höher mitgelieferte Datei c16_pgxw.mvc wird in c16_pgxw_vc6.mvc umbenannt und sollte nach Möglichkeit nicht mehr verwendet werden. Die Bibliothek für Visual Studio 2005 erhält den Namen c16_pgxw.mvc.
Objekte
Frame / AppFrame / MdiFrame
- Neue Ausprägung bei
wpStyleFrame
Die neue Ausprägung_WinWndDialogSizebeiwpStyleFramestellt einen, in der Größe änderbaren und schließbaren, Dialog dar.
RecView
- Neue Option bei Funktion
WinRvwUpdate()
Die neue Option_WinRvwUpdateOptClearSelectedbeiWinRvwUpdate() bewirkt, dass die aktuell selektierte Gruppe aus dem Cache des RecView-Objektes entfernt und somit das Ereignis EvtLstGroupInit erneut für diese Gruppe ausgelöst wird. - Neue Eigenschaft
wpSubItemStretch
Wenn die neue EigenschaftwpSubItemStretchbeim RecView-Objekt gesetzt wird, dann wird auch für SubItems die EigenschaftwpClmStretchberücksichtigt. Ein so definiertes SubItem passt sich von der Breite an die Breite des übergeordneten Items an. Die Position des SubItems bleibt dabei aber unverändert. Dadurch kann auf einfache Weise ein automatischer Zeilenumbruch für SubItems realisiert werden. - Positionierung der Spalten im RecView
Spalten im RecView können über die EigenschaftenwpAreaMarginBottom,wpAreaMarginLeft,wpAreaMarginRightundwpAreaMarginToppositioniert werden. Fälschlicherweise wurden diese Eigenschaften im RecView-Editor als wpMarginBottom, wpMarginLeft, wpMarginRight und wpMarginTop und konnten somit nicht prozedural bearbeitet werden.
RtfEdit
- Neues Argument bei Funktionen
WinRtfPicInsertMem() undWinRtfPicInsertName()
Die FunktionenWinRtfPicInsertMem() undWinRtfPicInsertName() wurden um ein Argument für Optionen erweitert. In diesen Optionen kann angegeben werden, ob der Bildimport auf Geschwindigkeit oder Qualität ausgelegt sein soll. Dazu wurden die Konstanten_WinRtfPicModeSpeed,_WinRtfPicModeQualityund_WinRtfPicModeAutohinzugefügt. Standardmäßig wird der Modus anhand der Farbtiefe und Bildgröße ausgewählt.
Application (_App)
- Neue Eigenschaft
wpOleDropModeRelaxed
Um die EigenschaftwpOleDropModewährend laufender Drag & Drop-Operationen (EvtDragTerm, EvtDropEnter, EvtDrop) setzen zu können, muss die neue EigenschaftwpOleDropModeRelaxeddes_App-Objekts vor der Drag & Drop-Operation auftruegesetzt werden.
System (_Sys)
- Neue Eigenschaft
spProcessExitCode
Mit der Eigenschaft kann der externe Rückgabewert der Applikation definiert werden. Dieser kann nach dem Beenden des Clients von externen Programmen ermittelt werden.
Verarbeitung
Mail- und Socket-Befehle
- Neue Optionen bei den Funktionen
SckConnect() undMailOpen()
Die Optionen_SckTlsLow,_SckTlsMed,_SckTlsHigh,_SckTlsMaxund_SckNoTLSv1wurden fürSckConnect() undMailOpen() hinzugefügt. Sie bestimmen die Mindestanforderungen bei einer Socket-Verbindung mit Verschlüsselung. Mit der Option_SckNoTLSv1kann die verschlüsselte Verbindung auf SSL 3.0 beschränkt werden. Dies ist nur in Kombination mit_SckTlsMedbzw._SckTlsLowmöglich. Die Option sollte nur verwendet werden, wenn der Zielserver Probleme mit TLS hat.
Weiterführender Artikel: Sicherheit bei SSL/TLS-Verbindungen - Der Befehl
SckInfo() wurde erweitert, so dass bei Verwendung der Option_SckVersionTlsneben der Version auch der Name der verwendeten Verschlüsselungsvariante (Cipher Suite) zurückgegeben wird.
Dies muss eventuell berücksichtigt werden, wenn anwendungsseitig ein Vergleich der zurückgegebenen Zeichenkette durchgeführt wird. - Neue Option bei Funktion
MailOpen()
Mit der neuen Option_MailAuthNTLMbeiMailOpen() kann die Authentifizierung beim Mailserver mittels „NT LAN Manager“ (kurz NTLM) erfolgen, sofern der Mailserver dies unterstützt. Dazu muss der Benutzer mit einem Domänenbenutzer angemeldet sein, der sich in der gleichen Domäne, wie der Mailserver befindet.
MSX-Befehle
- Änderung bei Funktion
MsxRead()
BeiMsxRead(_MsxMessage) auf einer Datei (_MsxFile) kommt nun der Rückgabewert_ErrEndOfData, wenn keine weiteren Messages vorhanden sind.
XML-Befehle
- Dokumenttyp-Deklaration bei den Funktionen
XmlLoad()undXmlSave()
Mit dem Knotentyp_XmlNodeDocumentTypekönnen Dokumenttyp-Deklarationen in XML-Dokumenten verarbeitet werden.
Benutzerbefehle
- Neuer Fehlercode bei Funktion
UrmDelete()
BeiUrmDelete()kommt der Fehlercode_ErrInUsezurück, wenn ein Benutzer gelöscht wird, der noch in der Datenbank angemeldet ist.
TAPI-Schnittstelle
- Neue Option bei Funktion
TapiDial()
Mit der neuen Option_TapiReturnCallIDbeiTapiDial() wird asynchron gewählt und im erfolgreichen Fall die resultierende Call-ID zurückgegeben.
Weiterführender Artikel: TAPI, aber richtig!
Binäre Objekte
- Neue Option bei der Funktion
BinReadMem()
Bei dem BefehlBinReadMem() kann jetzt zusätzlich die neue Option_BinErrorDecryptionübergeben werden, durch die bei einem falschen Entschlüsselungscode der Fehler_ErrBinDecryptionstatt dem allgemeinen Fehler_ErrBinDatazurückgegeben wird. - Neuer Befehl
BinDirMove()
Mit dem neuen BefehlBinDirMove() können binäre Verzeichnisse innerhalb der Datenbank verschoben werden. - Neue Eigenschaften für binäre Objekte
Mit den neuen EigenschaftenspSizeDba64undspSizeOrg64kann auch die Größe von binären Objekten ermittelt werden, die größer als 2 GB sind.
Memory-Objekt
- Rückgabewerte bei den Funktionen
MemAllocate() undMemResize()
Kann ein Memory-Objekt nicht angelegt oder vergrößert werden, wird der Client nicht mehr terminiert. Die Rückgabewerte der BefehleMemAllocate() undMemResize() sind nun wie folgt definiert:_ErrValueInvalid
Als Größe (int1) wurde ein Wert <= 0 angegeben.
_ErrLimitExceeded
Bei einem 32-Bit-Prozess wurde eine Größe (int1) von mehr als 512 MB angegeben.
_ErrOutOfMemory
Der Speicher konnte nicht angefordert werden.
Zeichenkettenfunktionen
- Neue Option bei der Funktion
StrCnv()
Mit den neuen Optionen_StrFromBase64und_StrToBase64beiStrCnv() kann eine Zeichenkette von bzw. nach Base64 umgewandelt werden.
Dateibefehle
- Anpassung bei
_FsiCreateNew
Durch einen Fehler hatte_FsiCreateNewden Wert von_FsiCreate|_FsiBuffer.
Sofern die Konstante verwendet wird, ist eine Neucompilierung der entsprechenden Prozedur(en) notwendig.
Konvertierungsbefehle
- Neue Option bei der Funktion
CnvAC()
Die Neue Option_FmtCaltimeTZkann beiCnvAC()in Kombination mit_FmtCaltimeISOangegeben werden, um die Zeitzone anzuzeigen. - Anpassung bei den Funktionen
CnvAB()/CnvAC()mit_FmtCaltimeRFC
Bei den BefehlenCnvAB()/CnvAC()mit der Option_FmtCaltimeRFCwird bei der Zeitzone UTC nun der Zusatz +0000 statt GMT angegeben, da GMT laut RFC2822 obsolet ist. BeiCnvCA()können beide Angaben verwendet werden. - Funktionen
CnvAI()/CnvAB()mit undefinierten Wert
Die Werte0x80000000bzw.0x8000000000000000\bgenerieren bei Konvertierung ohne die Format-Option_FmtNumHexeine leere Zeichenkette.
Ereignisse
- Neue Tastenkombination bei
EvtKeyItem
Das EreignisEvtKeyItemwird nun auch bei der Tastenkombination Strg+Umschalt+Eingabe ausgelöst.
Neben diesen Erweiterungen wurden auch Fehlerbeseitigungen vorgenommen. Eine Übersicht der Korrekturen befindet sich im Error-Dokument.