Zum Hauptinhalt springen
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Update-Beschreibung CONZEPT 16-Version 5.5

Update-Beschreibung CONZEPT 16-Version 5.5 Die Update-Beschreibung informiert über Änderungen in den jeweiligen Releaseständen

  • CONZEPT 16-Release 5.5.14 - 23. Januar 2012
info

Die Clients der Version 5.5.14 benötigen den Server der Version 5.5.14

In dieser Version wurden nur Fehlerkorrekturen durchgeführt.

  • CONZEPT 16-Release 5.5.12 - 2. September 2011
info

Die Clients der Version 5.5.12 benötigen den Server der Version 5.5.12

  • CONZEPT 16-Server - Version 5.5.12

  • E-Mail Benachrichtigung bei "Benutzerlimit erreicht" Über die Konfiguration des Servers kann definiert werden, ob ein Log-Eintrag für die Meldung "Benutzerlimit erreicht" generiert wird. Sofern die E-Mail-Benachrichtigung aktiv ist, wird auch eine E-Mail versendet. Der Log-Eintrag lautet: User login denied (license limit reached: ...) .

  • CONZEPT 16-Release 5.5.11 - 13. Mai 2011

info

Die Clients der Version 5.5.11 benötigen den Server der Version 5.5.11

  • CONZEPT 16-Client - Version 5.5.11

  • Suche in der Datenstruktur der Datenbankinfo Wird bei der Suche in der Datenstruktur-Anzeige der Datenbankinfo dem Suchwort eine Tilde (~) vorangestellt, wird eine Suche ohne Wildcard-Operator durchgeführt. Bei der Suche wird die Groß-Kleinschreibung auch ignoriert.

  • Neue Anweisungen WinRtfPicInsertName() / WinRtfPicInsertMem() Die Befehle WinRtfPicInsertName() und WinRtfPicInsertMem() ermöglichen das Einfügen von Bildern in ein RtfEdit -Objekt.

  • Erweiterungen der Anweisung WinRtfSearch() Der Befehl WinRtfSearch() wurde um einen optionalen Parameter (alpha5) erweitert, der den auf den Suchtext folgenden Text zurückgibt. Die Länge der Zeichenkette des folgenden Textes entspricht der Dimension des Parameters. Wird der Suchtext nicht gefunden, ist die Zeichenkette leer. Weiterhin wurde die Option _WinRtfSearchDelete hinzugefügt. Mit dieser Option wird der Text-Bereich, der in dem Parameter (range3) angegeben ist aus dem RTF-Text entfernt. Wird zusätzlich die Option _WinRtfSearchReplace angegeben, wird der in (alpha4) angegebene Text an dieser Stelle eingefügt.

  • Neue Anweisung PrtRtfSearch() Der Befehl PrtRtfSearch() wird verwendet, um Textsuche und -Ersetzung in einem PrtRtf -Objekt durchzuführen. Der Befehl muss nach dem Öffnen des Print-Objekts und vor dem Hinzufügen der PrintForm zu einem PrintJob aufgerufen werden. Die Argumente und der Rückgabewert entsprechen der Funktion WinRtfSearch() .

  • Erweiterung der Anweisung FsiMonitorAdd() Der Befehl FsiMonitorAdd() wurde um den Parameter _FsiMonFlagsNoDirChanges erweitert. Durch Angabe dieser Option werden Änderungen am Verzeichnis ignoriert.

  • Editieren der Eigenschaft StatusItemText Im Designer kann durch einen Doppelklick auf die Eigenschaft StatusItemText ein Eingabefenster aufgerufen werden.

  • Rückgängig machen von Änderungen nach einer Übersetzung Im Prozedur-Editor können nach dem Speichern / Übersetzen nun auch Änderungen rückgängig gemacht werden.

  • Von Funktionsaufrufen die entsprechende Funktion anspringen Mit einem Doppelklick mit gedrückter Strg - und Umschalt -Taste auf einen Prozeduraufruf [[<Prozedur>:]<Funktion>(] wird in der aktuellen Prozedur auf der Funktion positioniert. Die Angabe der Prozedur wird in diesem Fall ignoriert.

  • Neue Eigenschaft beim WebNavigator Der WebNavigator verfügt nun über die neue Eigenschaft Url . Diese Eigenschaft verändert sich, wenn sich die Caption des WebNavigators verändert, oder eine andere Seite, beispielsweise per Klick auf einen Link, aufgerufen wird. Die Eigenschaft Url enthält somit den aktuellen Pfad des angezeigten Inhalts. Weiterhin wird beim Ändern der Eigenschaft Url das EvtChanged ausgelöst.

  • Erweiterung des Ereignisses EvtMouseMove Das Ereignis EvtMouseMove wird nun auch aufgerufen, wenn die Maus innerhalb des Objekts bewegt wird. In diesem Fall wird die Konstante _WinMouseMoveChange übergeben. Das Ereignis wird jedoch nicht bei jeder Mausbewegung, sondern maximal 10 mal pro Sekunde ausgelöst.

  • CONZEPT 16-Release 5.5.10 - 11. Februar 2011

info

Die Clients der Version 5.5.10 benötigen den Server der Version 5.5.10

  • CONZEPT 16-Installationsroutine - Version 5.5.10

  • Überprüfung der im Zugriff befindlichen Komponenten Beim Aktualisieren oder Ändern von installierten Komponenten wird überprüft, ob die Dateien der zu installierenden Komponenten noch im Zugriff sind. Die Installationsroutine zeigt dann eine Liste der betroffenen Komponenten an. Die Prüfung findet nicht statt, wenn auf der Kommandozeile die Option silent oder verysilent angegeben ist.

  • CONZEPT 16-Client - Version 5.5.10

  • Öffnen von Objekten aus neueren CONZEPT 16-Versionen Bislang wurde der CONZEPT 16-Client beendet, wenn ein Objekt geladen wurde, das Aufgrund einer Bearbeitung mit einer neueren CONZEPT 16-Version über weitere Eigenschaften und Ereignisse verfügt. Ab dieser Version können auch Objekte aus späteren Versionen geladen werden. Verfügen diese über neue Eigenschaften und Ereignisse, wird eine entsprechende Warnung ausgegeben. Diese werden dann beim Laden ignoriert. Beim Speichern der entsprechenden Objekte erfolgt erneut eine Warnung, da die vorhandenen Eigenschaften und Ereignisse überschrieben werden. Die Überprüfung findet beim Öffnen und Importieren von Frame -, PrintForm - und Menü-Objekten statt.

  • Neues Ereignis EvtMouseMove In dem Objekt Picture wird jetzt das Ereignis EvtMouseMove ausgelöst, wenn der Mauszeiger in den Clientbereich oder aus dem Clientbereich des Objekts bewegt wird.

  • Neue Eigenschaften zur automatischen Anordnung von Objekten Bei den Objekten, die durch die Eigenschaft Grouping im übergeordneten Objekt automatisch angeordnet werden können, sind die Eigenschaften AlignGrouping , AlignHeight und AlignWith neu hinzugekommen. Über die Eigenschaft AlignGrouping wird bestimmt, ob das Objekt automatisch angeordnet werden kann und ob die Höhe ( AlignHeight ) oder Breite ( AlignWith ) des Objekts fest vorgegeben ist.

  • Anzahl der verbundenen Datenbanken erhöht Mit der Anweisung DbaConnect() können jetzt bis zu sieben Datenbanken verbunden werden. Der Nummernkreis wird mit den entsprechenden _Dba? -Konstanten angegeben. Der Zugriff auf Texte ( _TextDba? ) bzw. BLOBs ( _BinDba? ) ist ebenfalls möglich.

  • Überprüfung serverseitiger Zertifikate bei verschlüsselten Verbindungen Bei Verwendung von SSL/TLS bei der Anweisung SckConnect() kann das serverseitige Zertifikat überprüft werden. Dazu wird zusätzlich die Option _SckOptVerify angegeben.

tSck # SckConnect(tHost,tPort,_SckSSLv3 | _SckTlsv1 | _SckOptVerify);

Liefert der Server kein gültiges Zertifikat, ist das Resultat _ErrSckTlsCertificateVerify . In diesem Fall kann der Prüfungsfehler über die Eigenschaft CertificateError des System -Objekts ermittelt werden. Voraussetzung für eine erfolgreiche Prüfung von Zertifikaten ist eine Sammlung von Stammzertifikaten vertrauenswürdiger Organisationen (root CAs). Diese Sammlung wird als Datei common\ca-bundle.crt im CONZEPT 16-Datenverzeichnis abgelegt. Die Datei kann um weitere Stamzertifikate erweitert werden. Ein Update durch die CONZEPT 16-Installationsroutine findet dann nicht mehr statt.

  • Erweiterung der Anweisung ErrMapText() Bei der Anweisung ErrMapText() kann die Konstante _ErrMapX509 angegeben werden, um Fehlerwerte, die bei der Überprüfung eines Serverzertifikats aufgetreten sind, in eine Fehlermeldung zu wandeln.
  • Erweiterung der Anweisung SckInfo() Mit der Option _SckCertificateCN bei der Anweisung SckInfo() kann bei SSL/TLS-Verbindungen der "Common Name" des Serverzertifikats ermittelt werden. Dieser Wert wird benötigt, um nach einer Validierung des Zertifikats festzustellen, ob das Zertifikat auch zum Server gehört. Beispiel:
tHost # 'www.vectorsoft.de'
TRY
{
tSck # SckConnect(tHost,443,_SckSSLv3 | _SckTLSv1 | _SckOptVerify);
if (!(tHost =* tSck->SckInfo(_SckCertificateCN)))
ErrSet(...);
}
  • Erweiterungen des Befehls MailData() Bei dem Befehl MailData() ist die Verwendung des UTF-8-Zeichensatzes durch Angabe von _MimeCS_UTF8 nun möglich. Für das Versenden von PNG-Grafiken gibt es die neue Konstante _MimeImagePNG . Der E-Mail-Body kann als externe Datei vorliegen. Bei HTML-Mails können jetzt Objekte (zum Beispiel Bilder ), die im HTML-Code referenziert werden, als Bestandteile der E-Mail mitgesendet werden.
  • Öffnen von gesperrten Prozeduren Das Öffnen von gesperrten Prozeduren ist nun möglich, ohne dass das "Nur Lesen"-Häkchen gesetzt werden muss.
  • Nicht darstellbare Zeichen in der Variablenliste des Debuggers Bei gefüllten alpha-Variablen wird in der Variablenliste des Debuggers nun ein Tooltip angezeigt. Dieser Tooltip zeigt auch die nicht einzeilig darstellbaren Sonderzeichen (z. B. Zeilenumbrüche) an.
  • EvtKeyItem für MdiFrame Beim MdiFrame ist es nun möglich das EvtKeyItem zu setzen. Wird im EvtKeyItem false zurückgegeben, wird das Ereignis nicht an den AppFrame weitergeleitet.
  • Darstellung von MdiFrames Die Darstellung von MdiFrame wurde an den Aero-Stil von Windows Vista und Windows 7 angepasst. unter Windows 2000, Windows XP und Windows 2003 bleibt die Darstellung unverändert. Für die neue Darstellung wird die Bibliothek c16_gdraww.dll benötigt. Die Setup-Routine kopiert die DLL in die entsprechenden Installations-Verzeichnisse. Im Designer Info-Dialog ist die Versions-Information der neuen DLL einsehbar.
  • Von Prozeduraufrufen die entsprechende Funktion anspringen Mit einem Doppelklick mit gedrückter Strg -Taste auf einen Prozeduraufruf [<Prozedur>:<Funktion>(] wird die entsprechende Prozedur geöffnet und auf der Funktion positioniert. Fehlt die Angabe der Prozedur [<Funktion>(], dann wird erst versucht die Funktion in der aktuellen Prozedur zu finden. Ist diese nicht vorhanden, wird die Prozedur mit dem Namen geöffnet und die main-Funktion angesprungen.
info

Die Tastenkombination für das Öffnen von Include-Prozeduren und das Ausführen von Shell-Komandos wurde ebenfalls auf Strg + <Doppelklick linke Maustaste> geändert

  • Wildcardsuche in der Datenstruktur der Datenbankinfo In der Datenstruktur-Anzeige der Datenbankinfo ist bei der Suche mit F3 nun die Verwendung von Wildcards (*, ?) möglich. Werden keine Wildcards verwendet, wird nach allen Vorkommen gesucht, die den Suchbegriff enthalten. Mit erneutem Druck der Taste F3 wird vorwärts und mit Umschalt + F3 rückwärts vom aktuell selektierten Baumknoten gesucht. Ist das Ende bzw. der Anfang der Datenstruktur erreicht, wird die Suche am jeweils anderen Ende fortgesetzt. Mit der Tastenkombination Strg + F kann ein neuer Suchbegriff eingegeben werden. Bei der Suche wird die Groß-Kleinschreibung ignoriert.

  • CONZEPT 16-SOA-Service - Version 5.5.10

  • Angabe unterschiedlicher Ports (Betriebsart SOCKET) In der Konfigurationsdatei kann bei der Angabe der IP-Adressen ( socket_ip ) auch ein Port angegeben werden. So können für verschiedene IP-Adressen, verschiedene Ports angegeben werden, unter denen der Service erreicht werden kann.

  • CONZEPT 16-Release 5.5.09 - 22. Dezember 2010

info

Die Clients der Version 5.5.09 benötigen den Server der Version 5.5.09

  • CONZEPT 16-Client - Version 5.5.09

  • Neues Objekt MenuButton Das neue Oberflächenobjekt MenuButton hat neben der Funktionalität eines normalen Button -Objektes ein zusätzliches Menü, das angezeigt wird, wenn auf die Pfeil-Fläche der Schaltfläche geklickt oder die Tastenkombination Strg + Pfeil runter bzw. Strg + Eingabe gedrückt wird. Das Menü kann über die Eigenschaft MenuName eingestellt werden. Bevor das Menü angezeigt wird, wird das neue Ereignis EvtMenuPopup ausgelöst, in dem die Eigenschaft MenuName vor der Anzeige verändert werden kann. Danach wird das Ereignis EvtMenuInitPopup aufgerufen, in dem sowohl das Kontextmenü als auch das Popup-Menü zur Laufzeit angepasst werden können.

  • Abbruch von Aktionen durch den Benutzer In der Eigenschaft TypeButton kann der Wert _WinBtnUsrBreak gesetzt werden. Wird die Schaltfläche gedrückt, wird eine laufende Selektion (siehe SelRun() ) mit dem Resultat _rUserBreak abgebrochen. Das Drücken der Schaltfläche kann auch mit der Anweisung WinDialogResult() abgefragt werden. Die Anweisung gibt in diesem Fall _WinIdUserBreak zurück, sodass auch Verarbeitungen ohne die Verwendung eines asynchronen Dialogs durch den Benutzer beendet werden können. Das Ereignis EvtClicked wird für diese Schaltfläche nicht durchgeführt.

  • Neue Eigenschaft bei den StoList- und StoListPopup-Objekten Die Objekte StoList und StoListPopup wurden um die Eigenschaft StoViewElmTypes erweitert. Werden in der Liste die Elemente einer Elementgruppen - Elemente angezeigt, können über die Eigenschaft die angezeigten Typen eingeschränkt werden.

  • Neue Eigenschaft bei Storage-Objekten Bei Storage -Objekten kann über die System-Eigenschaft Unicode ermittelt werden, ob für das Objekt die Unicode-Unterstützung aktiviert ist.

  • Neue Eigenschaften beim Objekt ColorButton Das Objekt ColorButton unterstützt jetzt auch die Eigenschaften Toggled , TabStop und TypeButton .

  • Darstellung von gedrückten Schaltflächen Die Objekte Button , MenuButton und ColorButton werden gedrückt dargestellt, wenn die Eigenschaft Toggled gesetzt ist. Die Darstellung ist unabhängig von der Eigenschaft StyleButton und der Betriebssystem-Darstellung.

  • Neue Eigenschaft bei den Objekten Picture und DocView Bei den Objekten Picture und DocView kann mit der Eigenschaft UseLogSize angegeben werden, ob die logische Auflösung eines Bildes berücksichtigt wird oder nicht. Die logische Auflösung wird wichtig, wenn eine horizontal und vertikal unterschiedliche Auflösungen angegeben sind (siehe Beschreibung der Eigenschaft).

  • Erweiterung des Ereignisses EvtPageSelect Das Ereignis EvtPageSelect des Notebook -Objekts ist um den Parameter aPageNew erweitert worden. Wird eine Notizbuchseite deaktiviert, wird in diesem Parameter der Deskriptor der Notizbuchseite übergeben, die als nächstes aktiviert wird. Wird das Ereignis aufgrund einer Seitenaktivierung aufgerufen, oder wird keine andere Notizbuchseite aktiviert (zum Beispiel, weil alle Notizbuchseiten deaktiviert wurden), wird in dem Parameter 0 übergeben. Die Definition des Funktionskopfes ohne den Parameter ist weiterhin möglich.

  • Neue Anweisung ComPropSetText() Mit der Anweisung ComPropSetText() können Eigenschaften von COM-Objekten mit Zeichenketten mit mehr als 4096 Zeichen gesetzt werden. Die entsprechende Zeichenkette wird in einem Textpuffer (siehe TextOpen() ) zusammengestellt und mit der entsprechenden Anweisung in die Eigenschaft übertragen.

  • Neue Funktion zum Ermitteln der Textinformation aus einem PDF-Dokument Mit der Anweisung PdfTextExtractMem() kann die Textinformation einer Seite eines PDF-Dokuments ermittelt und in ein Memory -Objekt übertragen werden. Das Dokument und die Seite müssen zuvor mit den Anweisungen PdfOpen() und PdfPageOpen() geöffnet werden.

  • Erweiterung der Anweisung PdfOpen() Bei der Anweisung PdfOpen() kann über einen zusätzlichen Parameter angegeben werden, ob keine dynamischen Inhalte (z. B. Formularfelder, _PdfImportDefault ) oder alle Inhalte ( _PdfImportAll ) importiert werden. Werden alle Inhalte importiert, kann das dazu führen, dass JavaScript-Aktionen ausgeführt werden, sofern das Dokument JavaScript enthält.

  • Neue Ausprägung _WinAppFontIgnoreScript der Eigenschaft Flags Einige Fonts sind mit verschiedenen Glyphen für gleiche Zeichen definiert (zum Beispiel Arial). Die Glyphen werden durch die Angabe "Skript" ("Westlich", "Hebräisch", "Türkisch" usw.) im Auswahl-Dialog der Schriftart angegeben. Wird beim Erstellen eines Dialogs die Eigenschaft Font nicht verändert, wird das Skript aufgrund der verwendeten Codepage auf dem Rechner gesetzt. Wird das Objekt auf einem System angezeigt, das eine andere Codepage verwendet, erfolgt automatisch eine Anpassung an diese Codepage. Wurde die Eigenschaft im Designer geändert, wird auch das Skript gespeichert. Bei der Anzeige auf einem System mit einer anderen Codepage können dann für bestimmte Zeichen nicht die korrekten Glyphen dargestellt werden. Wird die Ausprägung _WinAppFontIgnoreScript in der Eigenschaft Flags des Application -Objekts gesetzt, wird das angegebene "Skript" ignoriert und statt dessen die Ausprägung in Abhängigkeit der verwendeten Codepage gesetzt. Ist das Skript auf "Symbol" oder "OEM" gesetzt, wird das Skript nicht geändert.

  • Neue Ausprägung _WinAppNotebookPageDelayed der Eigenschaft Flags Wird die Ausprägung _WinAppNotebookPageDelayed in der Eigenschaft Flags des Application -Objekts gesetzt, werden die Objekte in NotebookPage -Objekten erst dann geladen, wenn die Notizbuchseite den Fokus erhält. Dadurch können die Benutzer-Ressourcen des Betriebssystems geschont werden, wenn nicht alle Notizbuchseiten aufgerufen werden, zudem wird die Ladezeit des Fensters verkürzt.

  • Setzen des Attributs "standalone" im XML-Dokumentknoten Im Dokumentknoten eines XML-Dokuments (siehe _XmlNodeDocument ) kann das Attribut "standalone" mit folgender Anweisung gesetzt werden: tNodeDoc->CteInsertNode('standalone',_XmlNodeAttribute,'yes',_CteAttrib) Zulässig sind die Werte "yes" oder "no". Bei anderen Angaben wird das Attribut nicht gesetzt.

  • Splash-Screen beim Start anzeigen / unterdrücken Beim Starten des Standard-Clients (c16_winc.exe) wird ein Splash-Screen angezeigt. Die Anzeige kann mit folgendem Eintrag in der Konfigurationsdatei des Clients unterbunden werden:

SplashOn = N

Ist kein Eintrag vorhanden oder SplashOn = Y wird der Splash-Screen angezeigt.

  • Drucken von PDF-Dokumenten in PDF-Dokumente Das Drucken eines PrtPdf -Objekts mit der Option _PrtJobPdf führte bei bestimmten PDF-Dokumenten dazu, dass Text in Zeichnungsprimitive umgewandelt wurde. Das resultierende PDF war dadurch um ein Vielfaches größer als das ursprüngliche. Die Ausgabe wurde dahingehend optimiert, dass das resultierende PDF markierbaren Text enthält (sofern das Ursprungsdokument Text enthält). Dadurch wird eine PDF-Datei erstellt die zwar immer noch größer als das Original ist, jedoch wesentlich kleiner als das in Zeichnungsprimitive umgewandelte zuvor. Die Optimierung greift nur für Ausgaben als PDF ( _PrtJobPdf ) und für nicht gedrehte PDFs (Eigenschaft ModeEffect ).

  • Druckjobs als XML-Dokument speichern Wird bei der Anweisung PrtJobClose() die Konstante _PrtJobXml übergeben, wird der Druckjob als XML-Dokument gespeichert. Der Name des Dokumants muss in der Eigenschaft XmlFileName angegeben werden. Der Zeichensatz des XML-Dokuments kann in der Eigenschaft Charset angegeben werden.

  • Anzeige der Text-Elemente in Elementgruppen Die Berechtigungen von Benutzern werden über die Rechte von Benutzergruppen an Elementgruppen gesteuert. Bei der Anzeige von Text-Elementen in einer Elementgruppe kann es aufgrund der Menge der in der Datenbank gespeicherten Texte zu Verzögerungen kommen. Die Text-Elemente werden daher nur noch angezeigt, wenn eine entsprechende Option aktiviert ist (siehe Elementgruppen - Elemente ).

  • Anzeige der zusammengehörenden Klammern im Prozedur-Editor Steht der Cursor im Prozedur-Editor vor einer öffnenden oder schließenden Klammer (() {} []), wird die zugehörige Klammer hervorgehoben. Die Markierung der Klammern kann über den Menüpunkt Klammerung oder den Einstellungen aktiviert und deaktiviert werden.

  • Wechsel zwischen den Eingabebereichen im Prozedur-Editor Ist der Eingabebereich einer Prozedur im Prozedur-Editor in mehrere Bereiche aufgeteilt (durch die entsprechenden Schaltflächen oberhalb und links von der Scrollbar), kann zwischen den Bereichen mit den Tastenkombinationen Alt + 1 , Alt + 2 , Alt + 3 und Alt + 4 gewechselt werden.

  • CONZEPT 16-Hilfe - Version 5.5.09

  • Erweiterung der Hilfe um grundlegende Erläuterungen zu Verknüpfungen, Filter und Selektionen Die Hilfe wurde um grundlegende Erklärungen zu Verknüpfungen , Filtern und Selektionen erweitert. Das Inhaltsverzeichnis wurde angepasst.

  • Erweiterung der Hilfe zu den Befehlen für ODBC-Verbindungen Die Hilfe-Seite Befehle für ODBC-Verbindungen wurde um grundsätzliche Informationen zum Herstellen einer Verbindung zu ODBC-Datenquellen und zum Datenzugriff erweitert.

  • CONZEPT 16-Release 5.5.07 - 31. August 2010

info

Die Clients der Version 5.5.07 benötigen den Server der Version 5.5.07

  • CONZEPT 16-Server - Version 5.5.07

  • Verbesserung der Diagnose von Datenbanken Die Datenbankdiagnose ermittelt jetzt auch, ob die Datenbank belegte Segmente enthält, die aber nicht mehr zu den aktuellen Baumstrukturen gehören und somit "verwaist" sind. Solche verlorenen Segmente können zu Problemen bei der Wiederherstellung von defekten Bäumen führen und fehlerhafte Datensatz-IDs nach einem Recover verursachen. Die Diagnose erkennt solche verlorenen Segmente und markiert den zugehörigen Baum als "defekt" mit dem Fehlerwert 10. Bei der Wiederherstellung wird in diesem Fall der Baum nicht neu aufgebaut sondern nur die verlorenen Segmente gelöscht. Falls die Diagnose bei einer bisher fehlerfreien Datenbank jetzt Baumdefekte mit Fehlerwert 10 feststellt, sollte die Datenbank zunächst gesichert und anschließend eine Diagnose mit Recover durchgeführt werden. Danach ist die Datenbank wieder fehlerfrei.

  • Verbessertes Laufzeitverhalten beim Löschen von Datensätzen mit der Anweisung RecDeleteAll() Das Laufzeitverhalten beim Leeren einer Datei mit der Anweisung RecDeleteAll() wurde verbessert. Dies wirkt sich insbesonders bei einem großen zu löschenden Datenvolumen aus.

  • CONZEPT 16-Client - Version 5.5.07

  • Unterstützung von Unicode bei Druck-Objekten CONZEPT 16 unterstützt ab dieser Version die Druckausgabe von Texten im UTF-8 Zeichensatz. Weitere Informationen dazu befinden sich im Kapitel Unicode-Unterstützung . Die Anweisungen PrtJobOpen() , PrtFormOpen() und PrtAddByName() wurden entsprechend erweitert.

  • Neue Eigenschaft Unicode Bei Fenster-, Menü- und den übergeordneten Druck-Objekten kann über die Eigenschaft Unicode ermittelt werden, ob das Objekt (und damit auch alle untergeordneten Objekte) Unicode unterstützen.

  • Zusätzliche Rückgabewerte bei der Anweisung PrtJobClose() Bei der Anweisung PrtJobClose() werden zusätzliche Werte bei der Erstellung von PDF-Dokumenten zurückgegeben:

  • _ErrPdfPageAppend: Beim Anhängen einer Seite an das PDF ist ein Fehler aufgetreten.

  • _ErrPdfInsertMetafile: Beim Einfügen einer EMF-Datei in das PDF ist ein Fehleraufgetreten.

  • _ErrPdfNotPdfA: Das PDF-Dokument ist nicht PDF/A-konform.

  • _ErrPdfNotLicensed: Diese Rückgabe erfolgt, wenn ein PDF-Dokument mit einer Standard- oder Advanced-Edition erzeugt wurde. Das PDF-Dokument wurde erzeugt, aber mit dem Schriftzug "DRAFT" versehen.

Tritt bei der Erstellung der Datei ein Problem auf, werden entsprechende _ErrFsi...-Fehlerwerte zurückgegeben.

info

Der Rückgabewert der Anweisung PrtJobClose() sollte auch dann überprüft werden, wenn keine PDF-Datei erzeugt wurde. Treten Fehler bei der Druckaufbereitung auf, kann innerhalb der Applikation darauf reagiert werden.

  • PDF-Erstellung über Druckjob beschleunigt Das Erstellen von Druckjobs mit PrintForm -Objekten, die PrtRtf -Objekte beinhalten wurde optimiert, so dass eine bessere Laufzeit erzielt wird, wenn viele Seiten als PDF oder EMF gedruckt werden sollen (Option _PrtJobPdf und _PrtJobEmf bei PrtJobClose() ).
  • Erstellen von PDF/A-konformen Dokumenten für die Langzeitarchivierung mit dem Druckprozessor Soll mit dem Druckprozessor ein PDF/A-konformes Dokument erstellt werden, kann in der Eigenschaft GsOptions folgende Parameter angegeben werden:
-dPDFA;-dNOOUTERSAVE;-dUseCIEColor;-sProcessColorModel=DeviceCMYK

PDF/A-konforme Dokumente müssen ein Farbprofil enthalten. Standardmäßig wird ein Farbprofil von CONZEPT 16 bereitgestellt und in das Dokument eingebunden. Es kann ein eigenes Farbprofil in der Eigenschaft GsPdfColorProfile (externe Datei mit der Dateierweiterung .icc) angegeben werden. Alternativ kann ein PDF/A auch auf vereinfachte Weise erstellt werden:

aPpcObject->ppcMakePdf(_Sys->spPathMyDocuments + '\mypdfa.pdf',_PpcPdfA);

Durch die Angabe der Option werden die Eigenschaften GsOptions und GsPasswordOwner ignoriert. PDF/A-Dokumente können nicht verschlüsselt werden.

  • Neue Anweisung zum Erstellen von PDF-Dokumenten Mit der Anweisung PdfNew() kann ein leeres PDF -Objekt erzeugt werden. Dem Objekt können Seiten hinzugefügt werden. Es wird mit der Anweisung PdfClose() gespeichert.
  • Neue und erweiterte Eigenschaften beim PDF-Objekt Dei Eigenschaften PdfPageWidth und PdfPageHeight wurden erweitert. In den Eigenschaften kann jetzt die Seitenbreite und -höhe auch gesetzt werden. Über die neuen Eigenschaften PdfUserRights und PdfPageRotation können die Berechtigungen innerhalb des PDF-Dokuments und die Drehung der Seite angegeben werden.
  • Erweiterung des Befehls PdfPageClose() Der Befehl PdfPageClose() wurde um einen optionalen Parameter erweitert. Wird die Anweisung PdfPageClose(_PdfPageCloseCancel) aufgerufen, wird die Bearbeitung der Seite abgebrochen und die Änderungen verworfen. Wird kein Parameter oder _PdfPageCloseNormal angegeben, wird die Seite in dem PDF-Dokument gespeichert.
  • Drehen von Druckausgaben im PrtText-Objekt Die Ausgabe in dem Objekt PrtText kann um vielfache von 90 Grad gedreht werden. Dazu stehen die Eigenschaften ModeEffect und Rotation zur Verfügung. Die Eigenschaft Vertical kann weiterhin verwendet werden. Wird der Text 90 Grad nach rechts oder links gedreht, wird diese Eigenschaft automatisch gesetzt.
  • Erzeugen von Hash-Werten aus einem Memory-Objekt Mit der Anweisung MemHash() kann aus einem Memory -Objekt, oder einem Ausschnitt davon, ein Hash-Wert generiert werden. Es stehen folgende Hashs zur Verfügung: MD-5, RIPEMD-160, SHA-1, SHA-256, SHA-384 und SHA-512.
  • Erzeugen von Authentifizierungskodes aus einem Memory-Objekt Mit den Anweisungen MemHMAC() kann aus einem Memory -Objekt, oder einem Ausschnitt davon, ein Nachrichten Authentifizierungskode (HMAC - Hash-based Message Authentication Code) erzeugt werden. Das zu verwendende Hash-Verfahren und der Schlüssel werden dem Befehl als Parameter übergeben. Es stehen folgende Hash-Verfahren zur Verfügung: MD-5, RIPEMD-160, SHA-1, SHA-256, SHA-384 und SHA-512.
  • Fixieren von Spalten in Listen-Objekten Innerhalb von Listen-Objekten ( RecList , RecListPopup , DataList und DataListPopup ) können einzelne Spalten fixiert werden, indem die Eigenschaft ClmFixed auf _ClmFixedLeft gesetzt wird. Fixierte Spalten werden am linken Rand der Liste angezeigt und können durch den horizontalen Scrollbar nicht verschoben werden. Mit der Eigenschaft ColSeparator kann bei der Liste die Farbe des Gitters zwischen den fixierten und den nicht fixierten Spalten festgelegt werden.
  • Ermitteln des Betriebssystemfehlerwertes nach einer externen Datei-Operation Nach einer Operation mit einer externen Datei (siehe Fsi-Befehle ) kann der Betriebssystemfehler über die Eigenschaft FsiError des System -Objekts ermittelt und gesetzt werden.
  • Neue Ausprägung der Eigenschaft Flags des Application-Objekts Mit der Ausprägung _WinAppFld2BufOff bzw. _WinAppBuf2FldOff kann in der Eigenschaft Flags des Application -Objekts das automatische Übertragen der allgemeinen Feldpuffer in den Datensatzpuffer des MdiFrame - oder RecList -Objekts (bzw. in umgekehrter Richtung) unterbunden werden. Bei den Objekten muss die Eigenschaft DbRecBuf gesetzt sein. Die Optionen sind global und bleiben solange aktiv, bis sie wieder zurückgesetzt werden.
info

Verlässt der Fokus bei einer MDI-Anwendung während der Verarbeitung von Datensätzen die Applikation und kehrt wieder in die Applikation zurück, wird der Feldpuffer des aktivien MDI-Fensters wieder hergestellt. Das kann zum Beispiel zu einer Wiederholung von Schleifendurchläufen führen. Das Wiederherstellen der Feldpuffer kann mit der Ausprägung _WinAppFld2BufOff bzw. _WinAppBuf2FldOff unterbunden werden.

  • Erweiterung der Parameter beim Ereignis EvtDragInit Bei dem Ereignis EvtDragInit wird ein neues Argument übergeben, sofern dies bei der Funktionsdeklaration angegeben ist. Im letzten Argument wird das DataPlace -Objekt übergeben. Hierüber lassen sich Informationen des Quell-Objekts ermitteln.
  • Sicherheitsabfrage beim Setzen einer Hauptbenutzergruppe Wird in der Benutzerverwaltung einem Benutzer eine Hauptbenutzergruppe zugeordnet, in der der Benutzer nicht Mitglied ist, erfolgt eine Abfrage, ob der Benutzer Mitglied dieser Gruppe werden soll. Ist der Benutzer nicht Mitglied seiner Hauptbenutzergruppe, fehlen ihm beim Zugriff auf die Startprozedur unter Umständen die notwendigen Rechte, um auf die Prozedur zuzugreifen und diese ausführen zu können.
  • Speichern der Aufrufreihenfolge Tritt in einer häufig aufgerufenen oder einer tief verschachtelten Funktion ein Laufzeitfehler auf, kann es hilfreich sein die Aufrufreihenfolge, die zu diesem Aufruf führte zu ermitteln. Zu diesem Zweck kann mit der Anweisung DbgControl(_DbgCallStackOn) eine Protokollierung der Funktionsaufrufe gestartet werden. Diese ist solange aktiv, bis sie mit DbgControl(_DbgCallStackOff) wieder deaktiviert wird. Mit dem Befehl DbgDump() kann die Aufrufreihenfolge in eine externe Datei geschrieben werden.
info

Die Protokollierung der Aufrufreihenfolge sollte nur speziell für Debug-Zwecke aktiviert werden, da diese Einfluss auf die Ausführungsgeschwindigkeit von Prozeduraufrufen hat.

  • CONZEPT 16-Web-Schnittstelle - Version 5.5.07

  • Erweiterung der Konfigurationsdatei um die Angabe eines Ports Die Einstellung web_url_id in der Konfigurationsdatei der Web-Schnittstelle wurde erweitert, sodass beim ersten Eintrag eine Portnummer mit angegeben werden kann.

  • CONZEPT 16-Dokumentation - Version 5.5.07

  • Kennzeichnung der Anweisungen, die den globalen Fehlerwert setzen Die Anweisungen, die den globalen Fehlerwert (siehe Try und ErrGett() ) setzen sind jetzt mit dem Symbol in der Resultat-Zeile gekennzeichnet.

  • CONZEPT 16-Release 5.5.06 - 5. Juli 2010

info

Die Clients der Version 5.5.06 benötigen den Server der Version 5.5.06

  • CONZEPT 16-Server - Version 5.5.06

  • Erweiterung des Protokolls des Datenbankprozesses In der Protokolldatei des Datenbankprozesses werden zusätzliche Informationen abgelegt. Beim Öffnen der Datenbank wird die Lizenznummer und gegebenenfalls das Ablaufdatum der Lizenz angegeben. Der Betrieb mit einer temporären Hot-Standby-Lizenz wird durch den Zusatz (HSB database) gekenzeichnet. Beim Start eines Datenbank-Rollbacks wird der auslösende Grund ebenfalls im Datenbankprotokoll vermerkt. Folgende Einträge sind möglich:

    • Transaction Rollback started (TLX file found) Der Rollback wurde aufgrund einer vorhandenen .tlx-Datei gestartet.
    • Transaction Rollback started (area not closed) Der Rollback wurde aufgrund der nicht abgeschlossenen Datenbank gestartet.
  • CONZEPT 16-Client - Version 5.5.06

  • Neue Anweisung PdfSavePage() Mit der Anweisung PdfPageSave() kann eine Seite einer PDF-Datei in eine Grafik umgewandelt werden. Als Zielformate stehen JPEG, TIFF, PNG und Windows Bitmap zur Verfügung. Die Größe und die Auflösung des resultierenden Bildes können über entsprechende Parameter gesteuert werden. Nähere Informationen befinden sich in der Beschreibung der Anweisung PdfPageSave() .

  • Erweiterung der Anweisungen FileInfo() und FileInfoByName() Mit den Anweisungen FileInfo() und FileInfoByName() kann ermittelt werden, ob es sich bei der übergebenen Datei um eine temporäre Datei handelt. Dazu wird de Konstante _FileTemp übergeben. Ist das Resultat 1, handelt es sich um eine temporäre Datei.

  • Angabe von relativen Pfaden in der Eigenschaft HelpFile In der Eigenschaft HelpFile wird der Name für Anzeige der HTML-Hilfe gesetzt. Dem Dateinamen oder Pfad kann jetzt "!" vorangestellt werden. Damit wird als ausgehendes Verzeichnis immer das Verzeichnis verwendet, aus dem der Client gestartet wurde. Es kann auch ein relativer Pfad angegeben werden (z. B. !..\Doc\Codelibrary.chm).

  • Erweiterung der Unicode-Unterstützung auf weitere Objekte Bei den Objekten ToolbarDock und Windowbar werden in den Eigenschaften HelpTip bzw. Caption und HelpTip jetzt auch Texte in UTF-8 unterstützt. Nähere Informationen befinden sich im Abschnitt Unicode-Unterstützung .

  • Änderung des Kennworts für den Benutzer SUPERUSER Bei der Änderung des Kennwortes für den Benutzer SUPERUSER wird das Kennwort erst nach einer zusätzlichen Sicherheitsabfrage geändert (siehe Benutzerverwaltung ).

  • CONZEPT 16-Dokumentation - Version 5.5.06

  • Unterscheidung _ErrStringOverflow und _ErrValueRange Wird eine zu lange Zeichenkette an eine Funktion übergeben oder einer Variablen bzw. einem Datenbankfeld zugewiesen, können zwei unterschiedliche Fehler auftreten. Ist das Feld oder die Variable zu klein dimensioniert, um die Zeichenkette aufzunehmen, wird der Laufzeitfehler _ErrStringOverflow erzeugt. Ist die zuzuweisende Zeichenkette länger als 4096 Zeichen (maximale Länge), dann folgt der Laufzeitfehler _ErrValueRange .

  • Abmelden von Benutzern Beim Abmelden eines Benutzers mit der Anweisung UserClear() oder durch den CONZEPT 16-Client kann es bis zu zehn Sekunden dauern, bis der Benutzer tatsächlich beim Server ausgetragen ist.

  • CONZEPT 16-Release 5.5.05 - 1. Juni 2010

info

Die Clients der Version 5.5.05 benötigen den Server der Version 5.5.05

  • CONZEPT 16-Server - Version 5.5.05

  • Schließen von Datenbanken im Bereitschaftsmodus Durch die Angabe einer Schließverzögerung wird eine Datenbank nach dem Abmelden des letzten Benutzers in den Bereitschaftsmodus versetzt. Der Datenbankprozess wird in diesem Zustand noch nicht beendet. Wird in diesem Zeitraum der CONZEPT 16-Server beendet erfolgt ab dieser Version keine Abfrage, ob die Datenbanken geschlossen werden sollen. Die Abfrage erfolgt nur noch bei Datenbanken, in denen auch Benutzer angemeldet sind. Auch bei einem Update des Programmstandes mit der Setup-Routine müssen keine Datenbanken, die sich im Bereitschaftsmodus befinden, explizit geschlossen werden. Die Datenbankprozesse werden beim Stoppen des Servers automatisch beendet.

  • CONZEPT 16-Client - Version 5.5.05

  • Geändertes Verhalten bei den Anweisungen WinDialog() und WinDialogRun() Wird ein Fenster geladen, das aufgrund der Area -Eigenschaften nicht im sichtbaren Bereich angezeigt werden kann, wird es automatisch in die Mitte des primären Bildschirm verschoben. Soll ein Fenster nicht angezeigt werden, muss die Eigenschaft Visible zurückgesetzt werden.

  • Unterstützung von 2D-Barcodes im PrtBarcode-Objekt Das Objekt PrtBarcode besitzt die Eigenschaft TypeBarcode . Hier können unterschiedliche Barcodes angegeben werden. Wird der Typ des Barcodes in der Eigenschaft angegeben, kann die Angabe des Barcode-Types als Präfix in der Caption des Objektes entfallen. Alle unterstützen Barcodes sind in der Eigenschaft TypeBarcode beschrieben. Der Barcode-Typ kann auch prozedural mit den entsprechenden _WinBarcode...-Konstanten gesetzt werden.

  • Neues Ereignis beim DocView-Objekt Beim Objekt DocView wird jetzt auch das Ereignis EvtKeyItem ausgelöst.

  • Schreiben/Lesen externer Dateien ohne Zeichenwandlung Wird bei der Anweisung FsiOpen() die Option _FsiPure angegeben, erfolgt beim Lesen oder Schreiben von Zeichenketten aus oder in die Datei keine Zeichensatzwandlung. Die Konstante kann nicht mit _FsiANSI kombiniert werden.

  • Neue Konstante bei WinUpdate() Bei der Anweisung WinUpdate() kann die Konstante _WinDialogPrimary angegeben werden. Befindet sich ein AppFrame - oder Frame -Objekt außerhalb des sichtbaren Bereiches, kann er mit der Anweisung tHdlFrame->WinUpdate(_WinUpdState,_WinDialogPrimary) in die Mitte des primären Bildschirms verschoben werden. Wird das Fenster auch nur teilweise bereits im sichtbaren Bereich angezeigt, bleibt die Anweisung ohne Wirkung.

  • Abfrage des von der Applikation verwendeten Zeichensatzes Der von der Applikation verwendete Zeichensatz kann über die Eigenschaft Charset des System -Objekts ermittelt werden. Das Resultat kann mit den _Charset...-Konstanten verglichen werden. Wird die westeuropäische Codepage (1252) verwendet, gibt die Eigenschaft _CharsetC16_1252 zurück.

  • Codepage und Zeichensatz des Betriebssystems ermitteln Bei dem System -Objekt können über die Eigenschaften CharsetOS und CodepageOS der Zeichensatz und die Codepage des Betriebssystems ermittelt werden.

  • CONZEPT 16-Release 5.5.04 - 7. Mai 2010

info

Die Clients der Version 5.5.04 benötigen den Server der Version 5.5.04

  • CONZEPT 16-Server - Version 5.5.04

  • Verbesserung der Performance beim Löschen in der Datenbank Das Löschen kompletter Bäume (zum Beispiel bei RecDeleteAll() oder einer Schlüsselreoganisation) in der Datenbank wurde beschleunigt, indem die Datensegmente nach Speicherposition sortiert gelöscht werden. Während bei frisch optimierten Datenbanken kein Geschwindigkeitsvorteil auftritt, kann üblicherweise eine Beschleunigung um den Faktor 2 bis 10 erreicht werden.

  • Verbesserung der Performance bei der Schlüsselreorganisation Die Schlüsselreorganisation wurde durch mehrere Maßnahmen beschleunigt. Neben dem schnelleren Löschen der alten Schlüsselwerte erfolgt auch die Allokation von freiem Speicher der Datenbank schneller und die Reihenfolge des Datensatzzugriffs wurde optimiert. Daneben nutzt der Reorganisationslauf eine zweistufige parallele Verarbeitung auf Multi-Prozessor- oder Multi-Core-Systemen.

  • Minimale Cache-Einstellung vergrößert Der minimale Datenbankcache für Datenbanken beträgt jetzt 4 MB für 32-Bit-Systeme und 16 MB für 64-Bit-Systeme. Kleiner eingestellte Werte werden im Betrieb automatisch aus das Minimum angehoben.

  • Zusätzliche Informationen über die Datenbank in der Web-Administration Auf der Seite Service der Web-Administration werden jetzt zusätzlich zu den Statusinformationen der Zeitstempel, der Updatezähler und die aktiven Sperren der Datenbank (im Falle der Verwendung von Hot-Standby beider Datenbanken) angezeigt. Gerade bei der Verwendung von Hot-Standby kann damit einfach festgestellt werden, welche der Datenbanken aktueller ist.

  • Hot-Standby - Löschen von nicht vollständigen Datenbanken Können bei einer Synchronisation einer Datenbank nicht alle Segmente der Datenbank auf das andere System übertragen werden (zum Beispiel weil die Verbindung abbricht), wird die nicht vollständige Datenbank gelöscht. Eine Datenbank, die nicht alle Segmente beinhaltet ist nicht verwendbar.

  • Hot-Standby - Setzen einer zusätzlichen Sperre Falls beim Versuch einer Synchronisation die Zieldatenbank aufgrund einer Synchronisations-Sperre nicht überschrieben werden kann, wird diese Datenbank zusätzlich mit einer Login-Sperre versehen. Dies wird im Log der Zieldatenbank auch als Warnung eingetragen. Die Notwendigkeit der Login-Sperre wird in folgendem Szenario deutlich: Bei aktivem Hot-Standby-Betrieb fällt das Primärsystem aus und das Sekundärsystem wird Master. Nach der Reparatur des Primärsystems darf dessen Datenbank aufgrund einer Synchronisations-Sperre zunächst nicht überschrieben werden. Erfolgt keine Freigabe der Synchronisation, befindet sich weiterhin die alte Datenbank auf dem Primärsystem. Bei einem Ausfall des Sekundärsystems (mit der aktuellen Datenbank) könnten sich dann Benutzer sofort wieder am Primärserver anmelden und mit der alten Datenbank arbeiten.

  • Hot-Standby - Login-Sperre, wenn der Sekundär-Server nicht verfügbar ist Für den Hot-Standby-Betrieb gibt es die zusätzliche Einstellung Login sperren wenn Standby-Server nicht mehr verfügbar . Wenn diese Option eingeschaltet ist, wird bei aktiven Hot-Standby-Betrieb eine bedingte Sperre in der Master-Datenbank eingetragen. Diese Sperre verhindert das Öffnen der Datenbank im Master-Betrieb, wenn das Standby-System nicht erreichbar ist. Die Sperre kann über die Weboberfläche des Servers angezeigt und auch entfernt werden. Im normalen Betrieb hat die Sperre keine Auswirkungen, sie wird auch nicht auf die Standby-Datenbank übertragen. Die Sperre ist nur in folgendem Szenario wirksam: Nach erfolgreichem Hot-Standby-Betrieb wird die Master-Datenbank geschlossen. Ist beim erneuten Öffnen der Datenbank der Standby-Server nicht verfügbar, kann sich kein Benutzer an der Datenbank anmelden. Sobald der Standby-Server wieder funktioniert, können sich wieder Benutzer an der Master-Datenbank anmelden. Fallen nacheinander zunächst der Primär- und anschließend der Sekundärserver aus, können sich erst dann wieder Benutzer an der Datenbank anmelden, wenn beide Server wieder gestartet sind und so die tatsächliche Master-Datenbank ermittelt werden kann. Bei längerer Nichtverfügbarkeit des Standby-Systems muss die Sperre über die Weboberfläche des Masters entfernt werden. Die Sperre wird automatisch unwirksam, wenn die HSB-Adresse bei der Masterdatenbank entfernt wird und somit der Hot-Standby-Betrieb deaktiviert wird.

  • CONZEPT 16-Control-Center - Version 5.5.04

  • Anzeige der Protokolldatei nach einem Mail-Test Damit nach einem Mail-Test überprüft werden kann, ob der Datenbank-Server die Test-Mail generiert hat, gibt es im Hinweisfenster (in der rechten unteren Bildschirmecke) eine Link-Schaltfläche. Wird diese angeklickt, holt das Control-Center die Protokoll-Datei des Manager-Prozesses für den entsprechenden Datenbank-Server ab und zeigt diese anschliessend an. Das Control-Center legt hierzu im Profil-Verzeichnis einen Unterordner (_Temporary_) an, in dem die zuletzt abgerufene Protokoll-Datei vorgehalten wird.

  • CONZEPT 16-Script-Utility - Version 5.5.04

  • Ermitteln des Datenbankpfades Durch die Angabe des Schalters area_info wird der vollständige Pfad der Datenbank (ohne Datei-Erweiterung) ermittelt. Soll der Pfad einer Datenbank ermittelt werden, die im Slave-Betrieb geöffnet ist (siehe Hot-Standby ), muss zusätzlich -ignore_active angegeben werden. Der Pfad wird auf die Konsole ausgegeben und kann in der weiteren Verarbeitung des Betriebssystemskripts verwendet werden.

  • Kopieren der Datenbank Mit dem Schalter area_copy kann eine Datenbank kopiert werden. Das Kommando aktiviert den Backup-Modus, kopiert die Datenbank in das angegebene Zielverzeichnis und deaktiviert den Backup-Modus wieder. Auf diese Weise kann auch eine Datenbank im Slave-Betrieb (siehe Hot-Standby ) kopiert werden, wenn zusätzlich -ignore_activate angegeben wird. Nach der Installation befindet sich das Beispielskript area_backup.cmd im Unterverzeichnis server\example des Installationsverzeichnisses.

  • CONZEPT 16-Client - Version 5.5.04

  • Administration der Datenbanken

info

Der Standard-Client enthält keine Funktionen mehr zur Administration der Datenbanken auf dem Server. Dies kann nur noch über die Web-Administration erfolgen.

  • Neues Ereignis EvtCreated bei Fenster-Objekten Die Objekte Frame , AppFrame und MdiFrame verfügen jetzt über das Ereignis EvtCreated . Das Ereignis wird einmalig ausgelöst, nachdem das Fenster und alle untergeordneten Objekte geladen und angezeigt wurden. Bislang wurde ein EvtFocusInit oder ein EvtUser verwendet, um zum Beispiel eine Initialisierung von Objekten nach deren Anzeige durchzuführen. Hierfür wurde das Ereignis EvtCreated implementiert.
  • Erweiterung der Fehlermeldung "Datenbank ist gesperrt." Die clientseitige Meldung "Datenbank ist gesperrt." wurde um die Ursache der Sperrung erweitert. Nähere Informationen zu den Meldungen befinden sich im Abschnitt Starten des Clients . In dem Zusammenhang wurden auch die Fehlerkonstanten, die von DbaConnect() zurückgegeben werden, erweitert.
  • Anzeige von Spaltenüberschriften in der ComboBox In einer ComboBox ( RecListPopup und DataListPopup ) können die Spaltenüberschriften der Listen angezeigt werden, indem die Ausprägung _WinComboHeaderStatic in der Eigenschaft ComboStyle gesetzt wird.
  • Neue Konstante für Taste Punkt Die Taste _WinKeyDot wird ausgelöst, wenn Punkt auf der Tastatur gedrückt wird. Im Schweizer Tastaturlayout wird die Taste auch auf dem Nummernblock ausgelöst (im deutschen Layout liegt hier _WinKeyDecimal ).
  • Erweiterung der Anweisung StrCnv() Der Befehl StrCnv() konvertiert Zeichenketten. Mit dem Parameter _StrUpper wurden nur die Zeichen a-z, sowie die Umlaute ä, ö und ü in Großbuchstaben gewandelt. Mit dem neuen Parameter _StrUpper1252 werden alle Kleinbuchstaben der Windows-Codepage 1252 in Großbuchstaben gewandelt.
  • Erweiterung der Anweisung DbaInfo() - Ermitteln des Hot-Standby-Zustandes Bei der Anweisung DbaInfo() kann über zwei neue Konstanten ermittelt werden, ob Hot-Standby aktiv (Master-Datenbank ist geöffnet, Slave-Datenbank ist im Standby-Modus) ist und welcher der Server die Datenbank als Master geöffnet hat:
    • DbaInfo(_DbaSrvHsbIsActive) Die Anweisung gibt 1 zurück, wenn Hot-Standby für die Datenbank eingerichtet und die Datenbank im Hot-Standby-Betrieb (Master-Datenbank ist geöffnet, Slave-Datenbank ist im Standby-Modus) ist, sonst 0.
    • DbaInfo(_DbaSrvHsbMode) Die Anweisung gibt 1 zurück, wenn der Primärserver die Datenbank als Master geöffnet hat oder kein Hot-Standby für die Datenbank eingerichtet ist. Der Rückgabewert ist 2, wenn der Sekundärserver die Datenbank als Master geöffnet hat.
  • Erweiterung der Anweisung DbaInfo() - Ermitteln von Informationen von verbundenen Datenbanken Durch die Angabe eines weiteren optionalen Parameters können die Informationen auch von mit DbaConnect() verbundenen Datenbanken ermittelt werden. Für die jeweiligen Nummernkreise der Datenbanken (2001-2999, 3001-3999 und 4001-4999) stehen entsprechende Konstanten ( _Dba2 , _Dba3 und _Dba4 ) zur Verfügung. Die Konstanten können auch bei den Anweisungen DbaConnect() und DbaDisconnect() verwendet werden.
  • Erweiterung der Anweisung TapiCall() Verschiedene Operationen mit TAPI-Geräten sind nur möglich, wenn Owner-Berechtigungen vorhanden sind. Mit der Operation TapiCall(...,_TapiCallOpSetOwner,...) kann einem eingehenden Anruf diese Berechtigung gegeben werden. Zur Überprüfung, ob die Owner-Berechtigung vorhanden ist, kann die Anweisung TapiCall(...,_TapiCallOpIsOwner,...) verwendet werden. Die Anweisung gibt 1 zurück, wenn für die Verbindung Owner-Berechtigungen vorhanden sind. Im anderen Fall wird 0 zurückgegeben.
  • Neues Flag beim Öffnen-Dialog des Betriebssystems In der Eigenschaft Flags kann die Ausprägung _WinComShareAware verwendet werden. Die Ausprägung wirkt sich zur Zeit nur unter Windows Server 2008 R2 aus und ist standardmäßig gesetzt. Soll im Dialog _WinComFileOpen verhindert werden, dass der Dialog mit der Auswahl einer bereits geöffneten Datei geschlossen wird, kann die Ausprägung zurückgesetzt werden.
  • Erweiterung der Anweisung PrtInfo() zur Ermittlung von Druckauflösungen Mit der Anweisung PrtInfo() können jetzt die Anzahl der möglichen Druckauflösungen und die Druckauflösungen selbst von PrintDevice -Objekten ermittelt werden. Dazu stehen folgende Konstanten zur Verfügung:
    • _PrtInfoDpiCount Ermittelt die Anzahl der von dem Drucker unterstützten Druckauflösungen.
    • _PrtInfoDpiX Ermittelt die horizontale Druckauflösung. Der Index der Druckauflösung wird in (int2) übergeben.
    • _PrtInfoDpiY Ermittelt die vertikale Druckauflösung. Der Index der Druckauflösung wird in (int2) übergeben.
  • Druckreihenfolge bei der Druckausgabe Wird ein Druckjob generiert, dann werden die Objekte in umgekehrter Reihenfolge ausgegeben. Bei der Druckausgabe auf einen Drucker oder bei der Druckvorschau spielt das keine Rolle. Wird jedoch ein PDF-Dokument mit der Option _PrtJobPdf generiert, dann muss die Reihenfolge der Druckobjekte der angezeigten Position entsprechen, wenn Text im resultierenden PDF markiert und kopiert werden soll. Zu diesem Zweck kann die Option _PrtJobOpenSort beim Öffnen eines zu schreibenden Druckjobs angegeben werden. Der Druckjob enthält die Druckobjekte dann in visueller Reihenfolge (von oben nach unten), unabhängig davon, in welcher Reihenfolge die Druckobjekte zum Druckjob hinzugefügt wurden. Bei überlappenden Objekten kann es jedoch notwendig sein, die Sortierung zu unterbinden. Hierfür steht die Eigenschaft ZOrder zur Verfügung. Die ZOrder wirkt sich nur zusammen mit der Option _PrtJobOpenSort aus.
info

Wird ein Druckjob mit der Option _PrtJobSort erstellt, können ältere Clients den Druckjob nicht öffnen. Ältere Druckjobs können weiterhin mit der neuen Version geöffnet werden.

  • Abfrage von COM-Fehlern Die Anweisung ComInfo() wurde erweitert. Bislang konnten mit der Anweisung nur Fehlermeldungen des COM-Servers abgefragt werden, wenn die Verbindung mit ComOpen() hergestellt wurden. Ab dieser Version kann der Anweisung der Deskriptor eines CtxOffice -, CtxAdobeReader - oder WebNavigator -Objekts übergeben werden. Es wird dann der Fehlerwert bei der Initialisierung des Objekts ermittelt.

  • CONZEPT 16-Dokumentation - Version 5.5.04

  • Erweiterung der Beschreibung der Checkliste Hot-Standby Die Checkliste Hot-Standby wurde um Zustandsinformationen des Hot-Standby-Systems erweitert.

  • Konfiguration des Servers und der Datenbanken Da die Verwaltung des Servers und der Datenbanken nur noch über die Web-Administration möglich ist, wurden die Seiten, die die Konfiguration der Datenbanken mit dem Standard-Client behandeln, entfernt.

  • Zusätzliche Seite mit Informationen zum Starten des Clients Es wurde eine weitere Seite mit Informationen zum Starten des Clients erstellt. Hier befinden sich Erläuterungen zu den Übergabeparametern beim Start und Fehlermeldungen, die vom Starten des Clients bis zum Öffnen der Datenbank auftreten können.

  • CONZEPT 16-Release 5.5.03 - 17. März 2010

info

Die Clients der Version 5.5.03 benötigen den Server der Version 5.5.03

  • CONZEPT 16-Server - Version 5.5.03

  • Hot-Standby - Überprüfung der Erreichbarkeit des Slave-Systems Ist in der Konfiguration von Hot-Standby bei der Serveradresse die IP-Adresse der Direktverbindung und die IP-Adresse des LANs angegeben, wird neben dem Austausch vonStatusinformationen zusätzlich die Erreichbarkeit des Slave-Systems für die CONZEPT 16-Clients überprüft. Der Master-Datenbankprozess versucht dabei alle 15 Minuten den Datenbank-Prozess auf dem Slave-System über den Port 4722 (Port zur Kommunikation mit den Clients) zu erreichen. Schlägt die Überprüfung vier mal in Folge fehl, wird die Warnung Connection test to ... failed in die Protkolldatei des Datenbankprozesses geschrieben.

  • Hot-Standby - Erweiterung der Protokolleinträge Nachdem der Master-Datenbankprozess eine Verbindung zum Standby-System hergestellt hat, erfolgt die Überprüfung des Betriebszustands und des Synchronisationszustands. Dabei konnte die Warnung Database in use auftreten. Um die mögliche Ursache der Meldung leichter ermitteln zu können, gibt es jetzt vier verschiedene Protokolleinträge:

    • Standby database process is terminating Der Datenbankprozess auf der Standby-Seite beendet sich gerade.
    • Standby database process is still running Der Datenbankprozess auf der Standby-Seite ist noch aktiv.
    • Standby database process is running in active mode Der Datenbankprozess auf der Standby-Seite ist als Master aktiv. Dieser Fehler wird als Error klassifiziert, da unter sich unter Umständen Clients an beide Datenbanken anmelden können und somit eine kritische Fehlersituation entstehen kann.
    • Standby database in use Auf der anderen Seite wird gerade versucht, den Datenbankprozess zu starten. Beim Auftreten eines solchen Fehlers überprüft der Master-Datenbankprozess nach 5 Sekunden erneut den Betriebszustand des Standby-Systems. Besteht der Fehler nach 30 Sekunden immer noch, wird der Fehler als Warnung bzw. Error in das Log der Datenbank eingetragen.
  • Protokolleintrag bei versenden einer Alert-E-Mail Wird eine Alert-E-Mail versendet, erfolgt jetzt auch ein informativer Eintrag in die Protokolldatei (siehe Alert mail was send to ... ).

  • Status-Überprüfung im laufenden Betrieb bei Ausfall der Direktverbindung Falls der Datenbankprozess des Masters keine Verbindung mit dem Slave-System herstellen kann (beispielsweise nach dem Ausfall der Direktverbindung), versucht er den Verbindungsaufbau über die alternative IP-Adresse (sofern diese eingetragen ist, siehe Einstellungen der Datenbanken ). Sofern dies erfolgreich ist, findet eine Abfrage der Statusinformation des Slave-Systems statt, danach wird die Verbindung wieder abgebaut. Falls bei der Abfrage Statusfehler auftreten, werden diese protokolliert. Dieses Verfahren ermöglicht eine zusätzliche Statuskontrolle beim Ausfall der Direktverbindung im laufenden Betrieb.

  • Zusätzliche Option bei den Einstellungen zu Hot-Standby Bei eingerichtetem Hot-Standby-Betrieb dürfen sich die Datenbanken auf dem Primär- und dem Sekundärsystem nie gleichzeitig im Master-Modus befinden, da in diesem Zustand Clients auf beiden Datenbanken arbeiten können und dadurch später Datenverluste entstehen. Ist die Einstellung Automatische Abschaltung bei Master-Master-Betrieb gesetzt und ein solcher Zustand erkannt, werden beide Datenbanken geschlossen und mit einer Login-Sperre und Synchronisations-Sperre versehen. In den Protokollen der Datenbanken wird ein Fehler eingetragen. Der Administrator der Datenbanken muss dann auf Grund der Protokolle entscheiden, welche Datenbank verwendet werden soll (siehe auch Installation der Hot-Standby Option ).

  • Anzeige des Datums der Datenbanken In der Web-Administration des Servers wird in der Liste der Datenbanken jetzt das Datum angezeigt, zu dem die Datenbank das letzte mal geöffnet wurde.

  • Anzeige der Zeitstempel der Datenbank In der Web-Administration des Servers wird der Zeitstempel der Datenbank angezeigt.

  • Control-Center - Version 5.5.03

  • Name der Protokolldateien geändert Werden mit Hilfe des Control-Centers die Protokolldateien abgeholt, werden diese unter einem anderen Namen gespeichert. Die Namen der Dateien werden um den Namen des Profils ergänzt. Werden zum Beispiel die Dateien eines Hot-Standby-Systems anschließend per E-Mail versendet, kommt es nicht mehr zu Namenskonflikten.

  • CONZEPT 16-Client - Version 5.5.03

  • Eigenschaft HelpTip bei Druck-Objekten Die Eigenschaft HelpTip kann jetzt auch bei den meisten Druck-Objekten gesetzt werden. Der Help-Tip wird angezeigt, wenn der Mauszeiger in der Druckvorschau auf dem entsprechenden Objekt zur Ruhe kommt. Besitzt das Objekt keinen eigenen Help-Tip, wird der Help-Tip des übergeordneten Objekts angezeigt. Die Anzeigedauer, Schriftart usw. kann über die Eigenschaften HelpTipJustify , HelpTipSysFont , HelpTipTimeDelay und HelpTipTimeShow des PrtJobPreview -Objekts bzw. des Fensters der Druckvorschau gesteuert werden.

  • Ereignis EvtMouseItem beim Objekt PrtJobPreview Das Objekt PrtJobPreview unterstützt das Ereignis EvtMouseItem . Das Ereignis wird ausgelöst, wenn innerhalb des Objekts auf eine Seite des Druckjobs geklickt wird. Der Deskriptor des entsprechenden Objekts wird dem Ereignis übergeben. Soll der Name des Objekts ermittelt werden können, muss der angezeigte Druckjob zuvor mit der Option _PrtJobOpenVerbose gespeichert worden sein.

  • Neue Eigenschaft ColCellActiveHorz Für die Markierung der aktiven Spalte in einem GanttGraph -Objekt kann jetzt eine andere Farbe als bei der Markierung der aktiven Zeile angegeben werden. Sollen beide Markierungen die gleiche Farbe besitzen, reicht das Setzen der Farbe in der Eigenschaft ColCellActive . Soll die Spaltenmarkierung eine andere Farbe haben, kann diese in der Eigenschaft ColCellActiveHorz gesetzt werden.

  • Neue Ausprägung bei den GanttFlags Bei der Eigenschaft GanttFlags kann die Ausprägung _WinGanttIvlBoxLineNoHelpTip gesetzt werden. Ist die Ausprägung gesetzt, wird für Box -Objekte, die als Linie gezeichnet werden (Eigenschaft StyleIvl = _WinStyleIvlBoxHorz oder _WinStyleIvlBoxVert), kein Help-Tip angezeigt. Ist die Ausprägung nicht gesetzt erscheint der Help-Tip bereits, wenn der Mauszeiger im Bereich des Objekts zur Ruhe kommt.

  • CONZEPT 16-Dokumentation - Version 5.5.03

  • Ergänzung der Dokumentation um Hinweise zum Betrieb des Servers auf einer virtuellen Maschine Beim Betrieb des Servers auf einer virtuellen Maschine sind einige Besonderheiten zu beachten. Hinweise dazu befinden sich im Abschnitt Hinweise zum Betrieb auf virtuellen Maschinen .

  • CONZEPT 16-Release 5.5.02 - 18. Februar 2010

info

Die Clients der Version 5.5.02 benötigen den Server der Version 5.5.02

  • CONZEPT 16-Server - Version 5.5.02

  • Schließverzögerung der Datenbank bis zu sieben Tage Bei der Angabe der Schließverzögerung können jetzt Zeiten bis zu sieben Tage angegeben werden. Die Eintragung kann entweder direkt in der c16_serv.ars oder über das Web-Interface erfolgen.

  • CONZEPT 16-Client - Version 5.5.02

  • Fenster-globale Verarbeitung von Änderungen in Eingabe-Objekten In den Fenster-Objekten Frame und MdiFrame kann das Ereignis EvtChangedChild angegeben werden. Ist in der Eigenschaft ChangedTrigger die Ausprägung _WinChgTriggerChild gesetzt, wird bei einer Änderung in der Caption eines untergeordneten Eingabe-Objekts das Ereignis EvtChangedChild aufgerufen. In diesem Ereignis kann die Verarbeitung bei Objekt-Änderungen für das gesamte Fenster durchgeführt werden. Das Objekt, deren Inhalt geändert wurde, wird dem Ereignis übergeben. Erfolgte eine Änderung in einem Objekt, wird die Eigenschaft ChangedChild gesetzt. Über diese Eigenschaft kann an beliebiger Stelle festgestellt werden, ob mindestens eines der Eingabe-Objekte geändert wurde. Die Eigenschaft kann jederzeit zurückgesetzt werden.

  • Verschieben von Werkzeugleisten Bislang konnte die Position von Toolbar - und Windowbar -Objekten prozedural nur unmittelbar nach dem Laden des Fensters oder in dem Ereignis EvtInit verändert werden. Wird in der Eigenschaft Flags des Application -Objekts die Ausprägung _WinAppTBarAllowPosition gesetzt, können die Eigenschaften Area , AreaTop , AreaLeft , AreaRight und AreaBottom der entsprechenden Objekte auch außerhalb des EvtInit-Ereignisses gesetzt werden.

  • Auslösen von EvtKeyItem Ist in der Eigenschaft Flags des Application -Objekts die Ausprägung _WinAppCalcKeySupport gesetzt, wird bei folgenden Tastenanschlägen ein EvtKeyItem ausgelöst:

  • _WinKeyAdd: Plus

  • _WinKeySubtract: Minus

  • _WinKeyMultiply: Sternchen

  • _WinKeyDivide: Schrägstrich

  • _WinKeyDecimal: Komma

Auf dem Nummernblock können die Tasten auch mit der Umschalttaste ( _WinKeyShift ) und/oder der Steuerungstaste ( _WinKeyCtrl ) kombiniert werden.

  • AppFrame-Objekt um TileName...-Eigenschaften erweitert Das Objekt AppFrame ist um die Eigenschaften TileNameNormal , TileNameSelected und TileNamePressed erweitert worden. Untergeordnete Objekte eines MdiFrame -Objekts beziehen ihre benutzerdefinierten Bilder aus den entsprechenden Eigenschaften des MDI-Fensters. Sind diese Eigenschaften nicht gesetzt, werden die Eigenschaften des Applikations-Fensters verwendet.

  • Zusätzlich Ausprägung bei Eigenschaft PageZoom Diese Eigenschaft kann bei Oberflächen-Objekten auf die Ausprägung _WinPageZoomCursor gesetzt werden. Der Zoom kann dann durch den Anwender über die Tastatur ( Plus / Minus ) oder die Maus bzw. das Mausrad verändert werden.

  • Neue Eigenschaft AreaScalingFlags bei der Verwendung von Overlays Wird ein Picture - oder MetaPicture -Objekt als Overlay in einem DocView -Objekt verwendet, kann über die Ausprägung _WinAreaScalingMoveInsidePage in den AreaScalingFlags festgelegt werden, dass das Overlay immer so positioniert wird, dass es innerhalb einer Seite angezeigt wird. Dies erfolgt automatisch, wenn die Eigenschaft Visible oder eine Area -Eigenschaft des DocView-Objekts gesetzt wird. Die Positionierung findet nur statt, wenn gleichzeitig auch die Eigenschaft AreaScaling gesetzt ist.

  • Zusätzliche Eigenschaften im DocView verfügbar Im Objekt DocView steht jetzt die Eigenschaft DropPlace zur Verfügung. Über die Eigenschaft wird die Markierung innerhalb des Objekts gesteuert, wenn es Ziel einer Drag & Drop-Operation ist. Es stehen folgende Konstanten zur Verfügung:

  • _WinDropPlaceNone: Es wird keine Markierung angezeigt.

  • _WinDropPlaceThis: Es werden nur Seiten markiert.

  • _WinDropPlaceDynamic: Es werden Seiten markiert oder die Einfügemarkierung zwischen den Seiten angezeigt.

Über die Eigenschaften ModeEffect und Rotation können die Seiten innerhalb des DocView-Objekts gedreht werden. Es können dabei nur vielfache von 90 Grad angegeben werden. Die Drehung wirkt sich auf alle Seiten aus.

  • Neue Eigenschaften beim System-Objekt Das System -Objekt verfügt über Eigenschaften, um die Installationspfade der Programme des Microsoft Office-Pakets zu ermitteln:

  • PathOffcExcel

  • PathOffcWord

  • PathOffcPowerPoint

  • PathOffcOutlook

  • PathOffcAccess

  • Anzeige von als BLOBs gespeicherte Druckjob-Dateien Wurde Druckjobs als binäre Objekte in der Datenbank gespeichert, können diese jetzt direkt im PrtJobPreview -Objekt angezeigt werden. In der Caption wird das binäre Objekt mit dem Präfix >0 angegeben.

  • Neue Anweisungen TrySub und ErrThrowProc() Wird innerhalb eines Try -Blocks eine Funktion aufgerufen, in der der globale Fehlerwert gesetzt wird, wird die Verarbeitung solange fortgesetzt, bis die Funktion in die aufrufende Funktion zurückkehrt. Innerhalb eines TrySub -Blocks wird die Verarbeitung sofort unterbrochen und nach dem Block fortgesetzt. Die fehler-auslösende Funktion kann mit der Anweisung ErrThrowProc() ermittelt werden.

  • Erweiterung der Anweisung ErrMapText() Mit der Anweisung ErrMapText() können nicht nur die Fehlertexte von CONZEPT 16-Fehlerwerten, sondern auch die Fehlertexte von Windows-Fehlerwerten in deutscher und englischer Sprache ermittelt werden. Wird ein Windows-Fehlerwert übergeben, muss im Parameter (int3) die Konstante _ErrMapSys angegeben werden.

  • Ermitteln von Unter-Revisionsnummern Bei der Anweisung DbaInfo() kann mit Hilfe der Konstanten _DbaClnRelSub und _DbaSrvRelSub die Unter-Revisionsnummer des Clients bzw. des Servers ermittelt werden. Die Anweisung gibt den Buchstabencode zurück. Der Code kann mit der Anweisung StrChar() in den entsprechenden Buchstaben gewandelt werden. Bei der Version 5.5.01c wird bei der Anweisung DbaInfo(_DbaClnRelSub) der Wert 99 zurückgegeben.

  • Automatische Durchführung der Ctx-Registrierung Bislang wurde beim Aufrufen einer Prozedur aus dem Designer oder der Anzeige eines Dialogs im Testmodus die Ctx-Komponente zur Anzeige eines Office-Dokuments in einem CtxOffice -Objekt automatisch registriert. Diese Registrierung kann nur vorgenommen werden, wenn der an dem System angemeldete Benutzer, Administrationsrechte hat. Ist die automatische Registrierung nicht erwünscht, kann sie in den Einstellungen des Designers deaktiviert werden. In der Applikationsumgebung muss weiterhin die Komponente mit Hilfe der Eigenschaft InstallCtxOffice registriert werden. Bei einem Windows Vista- oder Windows 7-System mit aktivierter Benutzerkontensteuerung muss ein Benutzer ohne Administrationsrechte die Registrierung der Komponente in dem entsprechenden Dialog des Betriebssystems bestätigen. Der Dialog erscheint auch bei der Registrierung über die Eigenschaft.

  • Tastatursteuerung der Eingabehilfe von FloatEdit- und DecimalEdit-Objekten Ist die Eigenschaft InputCtrl der Objekte FloatEdit und DecimalEdit gesetzt, kann als Eingabehilfe ein Rechner aufgerufen werden. Die Steuerung des Rechners kann jetzt auch über die Tastatur erfolgen. Nähere Informationen befinden sich bei der Beschreibung der Eigenschaft InputCtrl .

  • CONZEPT 16-Release 5.5.01 - 21. Dezember 2009

info

Die Konstante _ErrSelNoResultSet wird durch die Konstante _ErrSelResultSet ersetzt. Prozeduren, die diese Konstante verwenden, müssen entsprechend angepasst werden.

  • CONZEPT 16-Client - Version 5.5.01

  • Erstellen von Diagrammen Mit Hilfe neuer Funktionen (siehe Befehle für Diagramme ) und Objekte (siehe Chart und ChartData ) können Diagramme aus den Daten in der Datenbank erzeugt werden. Es stehen zwei Diagrammtypen (Koordinaten- und Torten-Diagramm) mit zahlreichen Darstellungsmöglichkeiten zur Verfügung. Details dazu entnehmen Sie bitte der Beschreibung der Objekte und der Anweisungen.

  • ODBC-Befehle Innerhalb der A+ Prozeduren können über entsprechende Befehle ODBC-Datenquellen angesprochen werden.

  • Dialog zum Öffnen von ODBC-Datenquellen Bei der Anweisung _WinOpen() kann der Parameter _WinComOdbc angegeben werden. Damit wird ein Dialog zum Öffnen einer ODBC-Datenquelle angezeigt. Die entsprechende Verbindungszeichenkette kann in der Eigenschaft ConnectionString gesetzt und abgefragt werden.

  • Neues Ereignis EvtChangedDesign Das Ereignis EvtChangedDesign wird ausgelöst, wenn im Designmodus (siehe Eigenschaft Design ) das Objekt in der Größe oder Position verändert wird. Der Rückgabewert des Ereignisses bestimmt, ob die Änderung durchgeführt wird, oder nicht.

  • EvtPosChanged bei GroupTile-Objekt Das Ereignis EvtPosChanged steht jetzt bei dem Objekt GroupTile zur Verfügung.

  • Neue Eigenschaft DesignFlags Mit der Eigenschaft DesignFlags kann das Verhalten des Objekts im Design -Modus gesteuert werden. Es stehen folgende Konstanten zur Verfügung:

  • Neue Eigenschaft Rotation bei Bild-Objekten Das Bild innerhalb von Bild-Objekte kann beliebig gedreht werden. Ist die Eigenschaft ModeEffect auf _WinModeEffectRotCustom gesetzt, wird das Bild um die in der Eigenschaft Rotation angegebenen Grad gedreht. Bei positiven Angaben im, bei negativen Angaben gegen den Uhrzeigersinn. Untergeordnete Overlays werden nicht automatisch mit gedreht.

  • Neue Eigenschaft bei Storage-Objekten Der Typ von Storage-Objekten kann über die Eigenschaft Type abgefragt werden. Der Wert der Eigenschaft kann mit _StoClass...- und _StoType...-Konstanten verglichen werden:

if ((tStoObj->spType & _StoClassFrame) != 0) // Gruppe der Fenster-Objekte
if (tStoObj->spType = _StoTypeAppFrame) // AppFrame-Objekt
  • Neue Eigenschaften bei den Objekten DocView, Picture und MetaPicture Die Objekte DocView , Picture und MetaPicture besitzen jetzt die Eigenschaften PicWidthLog und PicHeightLog . Sie geben die Breite und die Höhe des aktuell geladenen Dokumentes oder Bildes in logischen Einheiten zurück. Die Eigenschaften PicWidth und PicHeight stehen jetzt auch bei DocView -Objekten zur Verfügung. In der Eigenschaft wird die Breite und Höhe des Dokumentes oder Bildes in Pixel angegeben. Die Eigenschaften können nur gelesen werden.
  • Neue Eigenschaften beim Picture-Objekt Das Objekt Picture kann auch Bilder aus einem Memory -Objekt heraus anzeigen. Dazu muss der Deskriptor des Memory-Objekts der Eigenschaft MemObjHandle zugewiesen und die Eigenschaft ImageSource auf _WinImageSourceMemory gesetzt werden. Steht die Quelle des Bildes in der Eigenschaft Caption muss die Eigenschaft ImageSource auf _WinImageSourceCaption gesetzt werden (default).
  • Eigenschaft ZoomEffective beim DocView-Objekt Die Eigenschaft ZoomEffective steht in dem Objekt DocView zur Verfügung.
  • Anzeigen von Kontextmenüs Mit der Anweisung WinMenuContext() kann zur Laufzeit einer Funktion ein Kontextmenü angezeigt werden. Das Kontextmenü wird an ein Oberflächen-Objekt angehängt. Von diesem Objekt werden auch die entsprechenden Ereignisse ( EvtMenuContext , EvtMenuInitPopup und EvtMenuCommand ) aufgerufen. Die Verarbeitung des ausgewählten Menüpunktes kann entweder durch das Ereignis EvtMenuCommand (Modus _WinMenuContextDefault ) oder durch die Funktion, die das Kontextmenü aufgerufen hat (Modus _WinMenuContextReturnID ) erfolgen. Der Rückgabewert entspricht dann der MenuId des ausgewählten Menüpunktes.
  • Erstellen von E-Mails mit HTML-Text Der Befehl MailData() wurde erweitert, so dass der Text einer E-Mail als ASCII-Text und HTML-Text angegeben werden kann. Soll eine HTML-E-Mail versendet werden, muss sowohl der ASCII-Text, als auch der HTML-Text vorhanden sein, damit auch E-Mail-Clients, die keine HTML-Texte anzeigen, einen Text zur Anzeige haben. Standardmäßig wird zuerst der ASCII-Text definiert. Anschließend kann der HTML-Text erstellt werden. Der Übergabeparameter (int2) von MailData() muss für den HTML-Text mit _MimeTextHtml kombiniert werden.
  • Neue Vergleichsoperatoren =^ und =*^ Mit dem Vergleichsoperator =^ können zwei Zeichenketten unabhängig ihrer Groß-/Kleinschreibung verglichen werden. Für den Ähnlichkeitsvergleich steht der Operator =*^ zur Verfügung. Beide Operatoren ignorieren die unterschiedlichen Schreibweisen für die Buchstaben A-Z, sowie Ä, Ö und Ü. Die neuen Vergleichsoperatoren können auch innerhalb von dynamisch erzeugten Selektionen (siehe Logische Ausdrücke in dynamischen Selektionen ) und Filtern (siehe _FltLikeCI ) verwendet werden.
  • Vorauswahl in dynamischen Selektionen In dynamischen Selektionen kann die Vorauswahl innerhalb des logischen Ausdrucks angegeben werden. Durch die Angabe der Schlüsselnummer in geschweiften Klammern nach den Ausdruck, wird der Schlüssel zur Vorauswahl bestimmt, ist die Klammer leer, wird keine Vorauswahl durchgeführt, steht nach der Schlüsselnummer ein Pluszeichen, wird nur die Vorauswahl durchgeführt. Nähere Informationen befinden sich im Abschnitt Logische Ausdrücke in dynamischen Selektionen .
  • Definition von Ergebnismengen bei dynamischen Selektionen Soll das Ergebnis einer Abfrage als Ergebnismenge gespeichert werden, muss bei der dynamischen Selektion die Ergebnismenge mit der Anweisung SelAddResult() angelegt werden. Bei der Anweisung SelAddLink() kann für die entsprechende Abfrage dann mit der Option _SelResultSet das Ergebnis in der Ergebnismenge gespeichert werden.
info

Bei der Anweisung SelAddLink() wird die Ergebnismenge nicht mehr definiert, sondern nur noch angegeben, ob das Ergebnis dieser Abfrage in der Ergebnismenge gespeichert werden soll. So kann bei mehreren verknüpften Abfragen die Ergebnismenge eindeutig bestimmt werden. Ist die Ergebnismenge zuvor nicht definiert worden, bleibt der Parameter _SelResultSet ohne Wirkung.

  • Verzögerte Anzeige des Status-Dialogs bei der Durchführung von Selektionen Die Anzeige des Status-Dialogs bei der Durchführung von Selektionen kann mit einer Verzögerung angezeigt werden. Dazu wird bei der Anweisung SelRun() die Option _SelDisplayDelayed angegeben. Die Anzeige des Status-Dialogs verzögert sich damit um zwei Sekunden. Ist in dieser Zeit die Selektion durchgeführt, findet keine Anzeige statt. Die Verzögerungszeit kann in der Eigenschaft DisplayRaisingDelay des Selektions-Objekts in Millisekunden angegeben werden.
  • Erweiterung der Anweisung WinUpdate() Bei der Anweisung WinUpdate() kann bei allen Objekten, die einen normalen Scrollbalken besitzen, die Übergabe von _WinUpdOff und _WinUpdOn mit der Konstanten _WinUpdScrollPos kombiniert werden. Mit dieser Kombination wird die Scrollposition innerhalb des Objekts gespeichert und nach der Aktivierung des Objekts wieder hergestellt. Die Scrollposition kann nicht bei Objekten gespeichert werden, die keinen Scrollbalken besitzen oder die Scrollposition nicht ermittelt werden kann (zum Beispiel bei einem RecList -Objekt mit dem Ereignis EvtLstRecControl . Wird die Scrollposition wieder hergestellt, ohne das zuvor die Scrollposition gespeichert wurde, kommt es zum Laufzeitfehler _EValueInvalid .
  • Einbetten von Bildern und Dokumenten im Druckjob Bilder und Dokumente, die in Druckobjekten angezeigt werden, können jetzt in den Druckjob eingebettet werden. Dazu wird beim Erzeugen des Druckjobs mit der Anweisung PrtJobOpen() die Konstante _PrtJobOpenEmbedImages angegeben. Wird ein Bild oder Dokument mehrfach in dem Druckjob verwendet, wird es nur ein mal eingebettet.
info

Druckjob-Dateien, die mit dieser Option erzeugt werden, können von älteren Clients nicht geöffnet werden, unabhängig davon, ob Bilder oder Dokumente eingebettet wurden oder nicht.

  • Neue Ausprägung der Eigenschaft StyleFrame Wird die Eigenschaft /docs/Components/CONZEPT_16-Client/Eigenschaften_von_Oberflaechen-und_Druckformular-Objekten/Special_Objektspezifische_Eigenschaften/Special-_P_bis_S/StyleFrame#StyleFrame auf den Wert _WinWndFrameShape gesetzt, wird kein Rahmen und kein Titel des Fensters gezeichnet. Zudem wird der Hintergrund transparent gezeichnet. Ist in der Eigenschaft PictureName ein teilweises transparentes Bild mit 32 Bit Farbtiefe angegeben, wird auch nur das Bild angezeigt. Untergeordnete Objekte des Fensters werden nicht gezeichnet.

  • Neuer Datentyp color Der Datentyp color verfügt über folgende Eigenschaften: Als Farbwert können die _WinCol...-Konstanten angegeben werden. Die einzelnen Farbanteile besitzen einen Wert zwischen 0 und 255. Die Transparenz (Alpha-Kanal) entscheidet über die Deckkraft der Farbe (0 = deckend, 255 = transparent). Die Farbe kann auch über folgende Methoden gesetzt werden:

  • Neue Anweisungen ColorMake() und ColorRgbMake() Mit der Anweisung ColorMake() kann ein Farbwert in eine Farbe vom Typ color umgewandelt werden. Die Anweisung ColorRgbMake() setzt aus den Werten der einzelnen Farbkanäle (rot, grün und blau) einen Farbwert vom Typ int zusammen.

  • Neue Anweisung FontMake() Mit der Anweisung FontMake() kann Wert des Typs font erstellt werden. Die einzelnen Komponenten des Datentyps werden als Parameter übergeben.

  • CONZEPT 16-Release 5.5.00 - 15. Oktober 2009

Ab dieser Version werden die Betriebssysteme Microsoft Windows 7 und Microsoft Windows Server 2008 R2 unterstützt. Die Version ist nicht lauffähig unter den Systemen Microsoft Windows 98, Windows ME und Windows NT 4.

Ab dieser Version ist der Aufbau von verschlüsselten Verbindungen über SSL/TLS mit der Anweisung SckConnect() möglich. Verschlüsselte Socketverbindungen können in folgenden Umgebungen verwendet werden:

  • Standard & Advanced Client

  • SOA-Service

  • Externe Windows Programmierschnittstelle

  • CONZEPT 16-Druckertreiber

  • CONZEPT 16-Server - Version 5.5.00

  • Maximaler Datenbankcache von 64 GB Ab dieser Version kann unter 64-Bit-Betriebssystemen ein maximaler Datenbankcache von 64 GB angegeben werden. Für 32-Bit-Systeme gilt weiterhin die Grenze von 1 GB.

  • Dynamische Anforderung des Datenbankcaches Der Datenbankcache wird beim Start des Datenbankprozesses nicht mehr in der vollen Größe angelegt, sondern nach Bedarf bis zur eingestellten Größe erweitert. Die Vergrößerung des Caches erfolgt dabei in Schritten von maximal 64 MB. Falls für eine Datenbank mehr Cache eingestellt wurde als physikalischer Speicher vorhanden ist, wird die maximale Cachegröße beim Start des Datenbankprozesses auf die Größe des physikalischen Hauptspeichers reduziert. Im Protokoll der Datenbank wird die Warnung "Database cache size limited to x MB" eingetragen. Wenn während des Datenbankbetriebs der Cache nicht bis auf die eingestellte Größe erweitert werden kann, wird die Warnung "Database cache extension failed (current size: ... MB)" in das Log der Datenbank eingetragen. Der Datenbankcache wird danach nicht mehr vergrößert.

  • CONZEPT 16-Client - Version 5.5.00

  • Anlegen temporärer Tabellen Innerhalb der Datenstruktur können jetzt temporäre Dateien definiert werden. In temporären Dateien werden Dateiinhalte und Schlüsseleinträge nicht in der Datenbank gespeichert, sondern verbleiben im Cache des Datenbankservers. Beim Schließen der Datenbank oder beim Durchführen einer Optimierung werden alle temporären Daten automatisch gelöscht. Die Eigenschaft "temporäre Datei" kann nur beim Neuanlegen einer Datei gesetzt und danach nicht mehr verändert werden. Temporäre Dateien werden in Datenbankbäumen des Nummernbereichs 50001 bis 59999 verwaltet. Für die temporären Daten kann ein Teil des Datenbankcaches reserviert werden. Dazu dient die Eigenschaft "Temporäre Daten [MB]" (siehe Konfiguration des Servers ). Der reservierte Anteil kann maximal 80% der Cache-Größe betragen, die für eine Reservierung notwendige Mindestgröße des Caches beträgt 16 MB. Durch die Reservierung wird eine Verdrängung von temporären Daten in die .trs-Datei der Datenbank vermieden, sofern das Volumen der temporären Daten nicht größer als der reservierte Bereich ist. Übersteigt die Menge an temporären Daten den reservierten Bereich, erfolgt unter Umständen eine Auslagerung der Daten in die .trs-Datei. Dabei ist zu berücksichtigen, das die .trs-Datei maximal 512 GB groß werden kann. Zur Verwaltung der .trs-Datei werden 14 MB Hauptspeicher pro Gigabyte Datenvolumen benötigt.

  • Erweiterung der Drag & Drop-Funktionalität um Inhalte Bei der Verwendung von Drag & Drop können jetzt auch Inhalte in Form von Memory -Objekten übertragen werden. Auf diese Weise können Dateien aus CONZEPT 16 exportiert und im Windows-Explorer oder dem Desktop angelegt werden. Ebenfalls ist beispielsweise der Import von E-Mails aus Microsoft Outlook oder Outlook Express in CONZEPT 16 möglich. Dazu gibt es ein neues Format _WinDropDataContent , das eine Liste von Memory -Objekten enthält. In diesen Objekten ist der Dateiinhalt bzw. der Inhalt der E-Mail und der Anhangdateien enthalten.

  • Neue Eigenschaft für Oberflächen-Objekte Wird die Eigenschaft Design bei einem Oberflächen-Objekt gesetzt, erhält das Objekt zur Laufzeit einen Selektionsrahmen und kann vom Benutzer verschoben und in der Größe geändert werden, sofern das Objekt diese Änderungen zulässt. Wird die Eigenschaft zurückgesetzt, verschwindet der Selektionsrahmen wieder. Der Design-Modus kann zusätzlich durch eine andere Farbe des Objekts angezeigt werden. Die Farbe wird in der Eigenschaft ColDesign angegeben. Die neuen Positionen und Größen der Oberflächen-Objekte werden nicht gespeichert, es sei denn der Dialog wird mit der Anweisung WinSave() in die Datenbank zurück geschrieben.

  • Neues Objekt zur Anzeige von MetaPicture-Formaten In dem Objekt MetaPicture können Vektorgrafiken der Formate EMF und WMF angezeigt werden. Wie beim Picture -Objekt kann das Bild als externe Datei, als binäres Objekt oder als importierte Grafik vorliegen.

  • Overlay-Bild in DocView-, Picture- und MetaPicture-Objekten Die Objekte DocView , Picture und MetaPicture können ein Picture- oder MetaPicture-Objekt als Overlay aufnehmen. Dazu wird im Designer das Objekt selektiert und über die Palette ein Picture- oder MetaPicture-Objekt eingefügt. Die Anzeige des Overlays kann von Bedingungen abhängig gemacht werden, die in den Eigenschaften ViewId und ViewType angegeben werden können. Über die Eigenschaften kann bestimmt werden, in welchen View das Overlay angezeigt wird und bei welcher View-Aufteilung die Anzeige erfolgt. Die Position des Bildes wird in der Eigenschaft Area angegeben. Soll das Overlay beim Skalieren des Bildes ebenfalls skaliert werden, muss die Eigenschaft AreaScaling gesetzt sein. Innerhalb eines DocView -Objekts kann die Position relativ zu einer Seite angegeben werden. Die Seitennummer wird in die Eigenschaft AreaScalingPageNo eingetragen.

  • Erweiterung des DocView-Objektes Das Objekt DocView wurde um folgende Ereignisse und Eigenschaften erweitert:

    • Drag & Drop Das Objekt wurde um die Drag & Drop-Ereignisse und -Eigenschaften erweitert.
    • EvtChanged Das Ereignis wird ausgelöst, wenn die Anzeige gezoomt wird. Dies kann entweder direkt geschehen (z. B. setzen der Eigenschaft ZoomFactor ) oder indirekt (z. B. durch Größenänderung des Objekts, wenn PageZoom = _PrtPageZoomPageWidth ).
    • EvtMenuContext Das Ereignis kann jetzt auch in diesem Objekt ausgelöst werden. Im Argument aHitTest wird entweder _WinHitNone (Argument aID=0) oder _WinHitDocViewPage (Argument aID = <Seitennummer>) übergeben. Das Argument aItem enthält immer den Wert 0.
    • CurrentInt Mit der Eigenschaft kann auf eine Seite (>= 1 und <= PageCount ) positioniert werden, sofern innerhalb des Objekts gescrollt werden kann. Die Eigenschaft bezieht sich auf das aktive View.
  • Erzeugen vom MetaPictures aus RtfEdit-Objekten Der Inhalt oder ein Ausschnitt aus dem Inhalt eines RtfEdit -Objekts kann mit der Anweisung WinEmfProcess() als MetaPicture gespeichert werden. Die Speicherung erfolgt entweder intern in der Datenbank als Storage-Objekt oder als externe Datei. Das so erzeugte Bild kann in einem PrtMetaPicture -Objekt ausgedruckt werden.

  • Ereignis EvtMouse beim Divider-Objekt Das Objekt Divider löst jetzt auch das Ereignis EvtMouse aus.

  • Deskriptor des Datensatzpuffers von Objekten ermitteln Bei den Objekten, die die Eigenschaft DbRecBuf besitzen, kann diese Eigenschaft ausgelesen werden, um den Deskriptor des Datensatzpuffers zu ermitteln. Dazu wird die Dateinummer als Parameter bei der Eigenschaft angegeben: tHdlBuf # tObj->wpDbRecBuf(10); Besitzt das Objekt keinen Datensatzpuffer von der Datei 10, wird 0 zurückgegeben. Die so ermittelten Datensatzpuffer können nicht mit der Anweisung RecBufDestroy() entfernt werden. Die Anweisung ignoriert entsprechende Deskriptoren.

  • Neue Bilder für die Eigenschaft ImageTile In der Eigenschaft ImageTile können weitere Bilder angegeben werden. Folgende Bilder stehen neu zur Verfügung.

  • Label -Objekt Icon

  • Edit -Objekt Icon

  • GroupBox -Objekt Icon

  • Divider -Objekt Icon

  • Vertikales Divider -Objekt Icon

  • Picture -Objekt Icon

  • Icon -Objekt Icon

  • Öffnen der Combobox bei der ersten Eingabe Die Eigenschaft PopupType eines Eingabe-Objekts kann auf den Wert _WinPopupListAuto gesetzt werden. Die Combobox wird dann geöffnet, sobald ein Benutzer eine Eingabe tätigt oder der Inhalt der Zwischenablage eingefügt wird. Die Combobox wird nicht geöffnet, wenn die Eigenschaft ReadOnly gesetzt ist.

  • Ermitteln der Bildschirmauflösung in DPI Die Anweisung WinInfo() ist um die Konstanten _WinScreenDpiX und _WinScreenDpiY erweitert worden. Mit diesen Konstanten kann die horizontale und vertikalen Bildschirmauflösung in DPI (Dots per inch) ermittelt werden.

  • Übergabe der Mausposition bei Ereignissen Bislang wurde nur bei Ereignissen, die sich auf eine Mausinteraktion bezogen, die Komponente pos des Datentyps event mit der Mausposition gefüllt. Bei den anderen Ereignissen wurde der Wert (0,0) übergeben. Jetzt wird bei allen Ereignissen die Mausposition in Bildschirmkoordinaten übergeben.

  • Erweiterung der Anweisung DbaInfo() Die Anweisung DbaInfo() wurde um folgende Parameter erweitert:

  • CONZEPT 16-SOA-Service - Version 5.5.00

  • SOA-Service im Socket-Modus mit SSL/TLS Ein socketbasierter SOA-Service kann optional mit Verschlüsselung unter Verwendung der Transport Layer Security betrieben werden. Dafür ist ein entsprechendes SSL/TLS-Zertifikat notwendig. Für die Verschlüsselung sind entsprechende Einträge in der Konfigurationsdatei des Tasks notwendig. Nach dem Start des Tasks werden nur noch verschlüsselte Verbindungen akzeptiert, die SSL 3.0 oder TLS 1.x entsprechen.

  • Session-Management Mit der neuen Anweisung SvcSessionControl() können Sessions innerhalb der Verarbeitung von Tasks angelegt und entfernt werden. Innerhalb der Sessions werden globale Variablenbereiche und Deskriptoren gespeichert. Deskriptoren von Datensatzpuffern, Oberflächen- und Druck-Objekten werden nicht gesichert sondern gelöscht. Die maximale Anzahl von Sessions und die Zeit, die eine Session erhalten bleibt, wird in der Konfigurationsdatei des SOA-Service angegeben. Die Session-Id eines Task kann über die Eigenschaft SvcSessionID abgefragt werden.

  • CONZEPT 16-PHP-Schnittstelle - Version 5.5.00

  • PHP 5.2 Ab dieser Version wird PHP 5.2 von der PHP-Schnittstelle unterstützt.

  • CONZEPT 16-Hilfe - Version 5.5.00

  • Drag & Drop-Ereignisse Der Abschnitt Drag & Drop-Ereignisse wurde zur besseren Übersicht der Ereignisse und der entsprechenden Programmierung überarbeitet.

Weitere Update-Beschreibungen