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_level
für verschlüsselte Verbindungen
In der Konfigurationsdatei des SOA-Tasks der Betriebsart “SOCKET” kann für verschlüsselte Verbindungen über die Optiontls_security_level
der 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_ErrNameInvalid
generiert, 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_blob
kö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
,_UrmIdePermModify
und_UrmIdePermDelete
ausgewertet. Ist das Recht_UrmIdePermRead
nicht 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_UrmTypeElmBlob
hinzugefü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_UrmPermRead
und_UrmIdePermRead
auf der Standard-Elementgruppe_table
oder 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_WinWndDialogSize
beiwpStyleFrame
stellt einen, in der Größe änderbaren und schließbaren, Dialog dar.
RecView
- Neue Option bei Funktion
WinRvwUpdate
()
Die neue Option_WinRvwUpdateOptClearSelected
beiWinRvwUpdate
() 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 EigenschaftwpSubItemStretch
beim RecView-Objekt gesetzt wird, dann wird auch für SubItems die EigenschaftwpClmStretch
berü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
,wpAreaMarginRight
undwpAreaMarginTop
positioniert 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
,_WinRtfPicModeQuality
und_WinRtfPicModeAuto
hinzugefügt. Standardmäßig wird der Modus anhand der Farbtiefe und Bildgröße ausgewählt.
Application (_App
)
- Neue Eigenschaft
wpOleDropModeRelaxed
Um die EigenschaftwpOleDropMode
während laufender Drag & Drop-Operationen (EvtDragTerm, EvtDropEnter, EvtDrop) setzen zu können, muss die neue EigenschaftwpOleDropModeRelaxed
des_App
-Objekts vor der Drag & Drop-Operation auftrue
gesetzt 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
,_SckTlsMax
und_SckNoTLSv1
wurden fürSckConnect
() undMailOpen
() hinzugefügt. Sie bestimmen die Mindestanforderungen bei einer Socket-Verbindung mit Verschlüsselung. Mit der Option_SckNoTLSv1
kann die verschlüsselte Verbindung auf SSL 3.0 beschränkt werden. Dies ist nur in Kombination mit_SckTlsMed
bzw._SckTlsLow
mö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_SckVersionTls
neben 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_MailAuthNTLM
beiMailOpen
() 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_XmlNodeDocumentType
können Dokumenttyp-Deklarationen in XML-Dokumenten verarbeitet werden.
Benutzerbefehle
- Neuer Fehlercode bei Funktion
UrmDelete()
BeiUrmDelete()
kommt der Fehlercode_ErrInUse
zurü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_TapiReturnCallID
beiTapiDial
() 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_ErrBinDecryption
statt dem allgemeinen Fehler_ErrBinData
zurü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 EigenschaftenspSizeDba64
undspSizeOrg64
kann 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_StrFromBase64
und_StrToBase64
beiStrCnv
() kann eine Zeichenkette von bzw. nach Base64 umgewandelt werden.
Dateibefehle
- Anpassung bei
_FsiCreateNew
Durch einen Fehler hatte_FsiCreateNew
den 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_FmtCaltimeTZ
kann beiCnvAC()
in Kombination mit_FmtCaltimeISO
angegeben werden, um die Zeitzone anzuzeigen. - Anpassung bei den Funktionen
CnvAB()
/CnvAC()
mit_FmtCaltimeRFC
Bei den BefehlenCnvAB()
/CnvAC()
mit der Option_FmtCaltimeRFC
wird 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 Werte0x80000000
bzw.0x8000000000000000\b
generieren bei Konvertierung ohne die Format-Option_FmtNumHex
eine leere Zeichenkette.
Ereignisse
- Neue Tastenkombination bei
EvtKeyItem
Das EreignisEvtKeyItem
wird 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.