Update-Beschreibung des Clients 4.7
Update-Beschreibung des Clients 4.7 Die Update-Beschreibung informiert über Änderungen in den jeweiligen Releaseständen.
-
CONZEPT 16-Release 4.7.10 - 2005-06-08
-
Benachrichtigungsfenster Ein Benachrichtigungsfenster wird angezeigt, wenn die Verarbeitung durch den Debugger gestoppt oder durch eine Transaktion in mehreren Clients ein Wartezustand auftritt. Der Titel des Benachrichtigungsfensters kann durch die Eigenschaft Caption des Application-Objekts (_App) gesetzt werden. Standardmäßig wird dort "CONZEPT 16" angezeigt. Die Hintergrundfarbe des Titels kann durch die Eigenschaft CaptionColor des Application-Objektes definiert werden.
-
Neue Eigenschaft FocusByMouse Durch Setzen der Eigenschaft bei einem RecList- oder DataList-Objekt werden Maus-Klicks mit der rechten oder mittleren Maustaste gleich behandelt, wie ein Maus-Klick mit der linken Maustaste. D. h. das Objekt bekommt den Fokus und der unter dem Mauszeiger liegende Datensatz oder die Zeile wird automatisch selektiert.
-
Neue Ausprägung der Eigenschaft MenuAction Bei den Objekten MenuItem und ToolbarButton kann in der Eigenschaft der Wert _WinMnuActHelpContext gesetzt werden. Wird der Menüeintrag oder der ToolbarButton ausgewählt, verwandelt sich der Mauscursor in den Hilfecursor. Der Benutzer kann anschließend auf ein GUI-Element klicken, um die dort hinterlegte Hilfe aufzurufen.
-
Neue Ausprägungen der Eigenschaft ShapeType Die Ausprägungen _WinShapeLineHor und _WinShapeLineVer zeichnen einen Divider ohne 3D-Effekt. Der Divider entspricht dann dem Aussehen einer GroupBox.
-
Neue Ausprägung der Eigenschaft SkipPrint Die Eigenschaft SkipPrint kann auf _PrtSkipPrintEmptyFldName gesetzt werden. Diese Ausprägung bestimmt die Sichtbarkeit bei folgenden Objekten: Beispiel Folgende Ausgabe soll mit dem Line-Objekt realisiert werden: Kunde :
<Adresse>Wenn<Adresse>leer ist, soll auch das Line-Objekt leer sein, d. h. nicht in die Druckausgabe gelangen. Der statische Text "Kunde :" wird durch ein PrtText-Objekt dargestellt, bei dem lediglich die Eigenschaft Caption gesetzt ist. Die Eigenschaft DbFieldName ist leer. Die<Adresse>wird durch ein PrtText-Objekt dargestellt, bei dem die Eigenschaft "DBFieldName" auf das entsprechende Datenbankfeld verweist. Wird beim PrtLine-Objekt die Eigenschaft SkipPrint auf _PrtSkipPrintEmptyCaption gesetzt, wird nicht der gewünschte Effekt erzielt, da selbst bei leerer<Adresse>immer noch der statische Text ("Kunde :") ausgegeben würde. Durch das Setzen von _PrtSkipPrintEmptyFldName wird die Ausgabe des statischen Textes unterdrückt, wenn die<Adresse>leer ist.- PrtText und PrtBarCode Die Objekte gelangen nicht in die Druckausgabe, wenn die Eigenschaft DbFieldName leer ist oder die Eigenschaft Caption leer ist.
- PrtRtf Das Objekt gelangt nicht in die Druckausgabe, wenn die Eigenschaft DbFieldName leer ist oder die Eigenschaft StreamSource den Wert _WinStreamCaption enthält und die Caption-Eigenschaft leer ist.
- Andere Objekte Für die restlichen Objekte hat die neue Ausprägung keine Auswirkung, d. h. die Sichtbarkeit bleibt durch "PrtSkipPrintEmptyFldName" unbeeinflusst.
-
Erweiterung der Eigenschaft EditMask Ist eine Eingabemaske durch die Eigenschaft EditMask definiert, kann durch Betätigen der Tastenkombination
<Strg>+<ENTF>der Inhalt des aktuell editierten Maskensegmentes auf den Initialwert zurückgesetzt werden. Bei Betätigung ohne<Strg>-Taste wird lediglich der Inhalt des Zeichens an der Cursorposition auf den Initialwert zurückgesetzt. In der Eigenschaft EditMask kann das Zeichen "!" angegeben werden. Mit diesem Zeichen können alle Buchstaben angegeben werden. Die Eingabe wird automatisch in Großbuchstaben umgewandelt. -
Erweiterung der Eigenschaft BiasMinutes Bei Variablen vom Typ caltime kann die Eigenschaft BiasMinutes jetzt auch gesetzt werden. Es ist zu beachten, dass diese Eigenschaft bei der Funktion CnvBC() verwendet wird.
-
Erweiterung des Befehls DbaInfo() Mit der Option _DbaReadOnly kann überprüft werden, ob die Datenbank im "Nur-Lesen"-Modus geöffnet ist.
-
Erweiterung der Drag & Drop-Funktion im Designer Beim Ziehen eines Feldes aus der Datenstruktur in das Eigenschaftsfenster oder Setzen der Eigenschaft DbFieldName direkt, werden jetzt auch die Eigenschaften LengthMax (bei den Objekten Edit und TextEdit), sowie MinInt, MaxInt (bei IntEdit) und MinBigInt, MaxBigInt (bei BigIntEdit) an die Feldlänge des Datenbankfeldes angepasst. Aktiviert wird diese Funktion in den Einstellungen des Designers über die Option "Setzen von DbFieldName setzt auch Eingabelimit". Durch das Aktivieren der Option wird das Verhalten bei folgenden Objekten aktiviert:
- Edit, TextEdit Wird ein Datenbankfeld vom Typ memo oder alpha in die Eigenschaft gezogen, wird die Eigenschaft LengthMax angepasst, wenn die Feldlänge kleiner als der Eintrag in LengthMax ist.
- IntEdit Wird ein Datenbankfeld vom Typ word oder int in die Eigenschaft gezogen, werden die Eigenschaften MinInt und MaxInt angepasst, wenn sie ausserhalb des gültigen Wertebereiches (z. B. 0 ... 65535 bei Word) liegen.
- BigIntEdit Wird ein Datenbankfeld vom Type word, int oder bigint in die Eigenschaft gezogen, werden die Eigenschaften MinBigInt und MaxBigInt angepasst, wenn sie ausserhalb des gültigen Wertebereiches liegen.
-
Überprüfung der Datentypen bei der Zuweisung zu Oberflächenobjekten im Designer Beim Zuweisen von Datenbankfeldern an Oberflächen-Objekte wurde nicht der Datentyp des Datenbankfeldes überprüft. Eine Zuweisung war möglich, auch wenn der Datentyp nicht in dem Objekt dargestellt werden konnte. Jetzt können nur noch Datenbankfelder mit unterstützten Datentypen zugewiesen werden:
-
Objekt: Erlaubte Datentypen
-
BigIntEdit: Ganzzahlig kurz, ganzzahlig lang, ganzzahlig 64
-
Checkbox: Logisch
-
ColorEdit: Ganzzahlig kurz, ganzzahlig lang
-
DateEdit: Datum
-
DecimalEdit: Dezimal
-
Edit: Alle erlaubt
-
FloatEdit: Gleitkomma
-
IntEdit: Ganzzahlig kurz, ganzzahlig lang
-
Label: Alle erlaubt
-
TextEdit: Alle erlaubt
-
TimeEdit: Zeit
-
CONZEPT 16-Release 4.7.09 - 2004-12-16
-
Neuer Befehl ComPropGetText() Mit dieser Anweisung können jetzt auch Eigenschaften von COM-Objekten ausgelesen werden, die mehr als 4096 Zeichen beinhalten. Dem Befehl wird dazu ein zuvor geöffneter Textpuffer übergeben, der nach dem Aufruf des Befehls den Inhalt der Eigenschaft besitzt.
-
Neue Befehle zum Setzen von Eigenschaften von Druck-Objekten Die Eigenschaften von Druck-Objekten wurden bisher mit dem Befehl WinPropGet() bzw. WinPropSet() gelesen bzw. gesetzt. Zur Vereinheitlichung können dazu jetzt die Befehle PrtPropGet() bzw. PrtPropSet() verwendet werden.
-
TabStop für Picture-Objekt Das Picture-Objekt wurde um die Eigenschaft TabStop erweitert.
-
CONZEPT 16-Release 4.7.08 - 2004-11-23
-
Benutzerbezogene Einstellungen im externen Debugger Die zu verwendende Konfigurationsdatei kann über die Kommandozeile angegeben werden:
c16_debg.exe [-ini=<dateiname>]Ist die Option "ini" nicht angegeben oder<dateiname>leer, wird die c16_debg.ini im Arbeitsverzeichnis des Debuggers geladen bzw. erzeugt, falls dort nicht vorhanden. Auf diese Weise kann für jeden Benutzer eine individuelle Konfigurationsdatei angelegt werden. Weitere Informationen befinden sich im Abschnitt Starten des Debuggers. Beispiele:- Konfigurationsdatei "user1.ini" im Arbeitsverzeichnis laden bzw. anlegen.
c16_debg.exe -ini=user1 - Konfigurationsdatei "user1.ini" im Verzeichnis "c:\users" laden bzw. anlegen.
c16_debg.exe -ini=c:\users\user1
- Konfigurationsdatei "user1.ini" im Arbeitsverzeichnis laden bzw. anlegen.
-
Konstanten zur Aktualisierung des GanttGraph-Objektes Zum Aktualisieren und neu zeichnen des Objektes stehen die Konstanten _WinGntRefresh und _WinGntRecalc zur Verfügung. Die Konstanten werden bei dem Befehl WinUpdate() in Verbindung mit _WinUpdState angegeben. Mit
_WinGntRefreshwird das gesamte Objekt neu gezeichnet. Bei_WinGntRecalcwerden die Achsen und die View-Bereiche neu berechnet und gezeichnet. -
CONZEPT 16-Release 4.7.07 - 2004-11-02
-
Überarbeiteter externer Debugger Der externe Debugger ist komplett überarbeitet worden. Eine detailierte Beschreibung der Funktionen und der Bedienung befindet sich im Abschnitt Externer Debugger. Das Herstellen einer Verbindung zum Debugger und das Setzen von Breakpoints kann jetzt vom Prozedur-Editor aus erfolgen. Durch die neue Steuerung des Debuggers entfallen in Verbindung mit dem Befehl DbgControl() folgende Konstanten: Mit der Konstanten _DbgEnter können alle externen Aufrufe (Aufruf eines Ereignisses oder Starten einer Prozedur im Prozedur-Editor) von Funktionen im Protokollbereich des Debuggers protokolliert werden. Interne Aufrufe (Funktionsaufrufe aus laufenden Funktionen) können mit der Konstanten _DbgEnterSub protokolliert werden. Um die Rücksprünge aus den Funktionen zu protokollieren, wird die Konstante _DbgLeave verwendet. Die Konstanten
_DbgEnterSubund_DbgLeavemüssen mit_DbgEnterkombiniert werden. Die Protokollierung der Funktionsaufrufe kann mit der Konstante _DbgEnterOff beendet werden. Zur Vereinfachung kann statt der Anweisung DbgControl(_DbgStop) die Anweisung DbgStop() verwendet werden.- _DbgBreak
- _DbgBreakMain
- _DbgBreakOff
- _DbgEnterMain
- _DbgLeaveMain
-
Neue Eigenschaften für das Objekt TreeView Das Objekt verfügt jetzt über die Eigenschaften ColFocusOffFg und ColFocusOffBkg.
-
Geänderte Konstante
Die Konstante _ErrSckTimeout ist wegen der vielseitigeren Verwendbarkeit in die Konstante _ErrTimeout geändert worden. Prozeduren, die die entsprechende Konstante beinhalten, müssen neu übersetzt werden, da sich der Wert der Konstanten geändert hat.
-
Neue Funktion Der derzeitige Speicherverbrauch kann über die Eigenschaft ProcessMemoryKB des System-Objektes ausgelesen werden.
-
Änderungen im Designer Durch den neuen Debugger sind einige Änderungen im Prozedur-Editor des Designers erfolgt. So kann jetzt aus dem Prozedur-Editor heraus eine Verbindung zum externen Debugger aufgenommen und auch Breakpoints gesetzt werden. Werte von Eigenschaften und Ereignissen können über die Zwischenablage kopiert werden. Dazu muss die Eigenschaft nicht im Editiermodus sein. Durch Markierung der Eigenschaft und Drücken der Tastenkombination
<Strg>+<C>wird der Inhalt der Eigenschaft in die Zwischenablage kopiert. Ein Ausschneiden des Eigenschaftswertes ist nicht möglich. -
CONZEPT 16-Release 4.7.06 - 2004-07-16
-
Telefonieren aus CONZEPT 16 Aus CONZEPT 16 kann die TAPI-Schnittstelle mit A+ Prozedur-Befehlen angesprochen werden. Die Schnittstelle ermöglicht es, Nummern zu wählen. Insbesondere können jetzt auch eingehende Anrufe festgestellt und entsprechend auf diese Anrufe reagiert werden. Für die Schnittstelle stehen folgende Befehle zur Verfügung: Siehe Prozedur "Tapi" in der Beispiele-Datenbank DLG47-06.CA1.
- TapiOpen() Mit diesem Befehl wird die TAPI-Schnittstelle initialisiert. Er gibt eine Cte-Liste mit den vorhandenen Gerätetreibern zurück. Aus dieser Liste kann dann ein Gerätetreiber für die weiteren Befehle ausgewählt werden.
- TapiDial() Der Befehl übermittelt einen Wählstring an einen Gerätetreiber.
- TapiListen() Mit diesem Befehl kann die Überwachung eines Gerätetreibers aktiviert oder deaktiviert werden. Geht bei einem überwachten Gerätetreiber ein Anruf ein oder wird ein Anruf getätigt, wird das Ereignis EvtTapi ausgelöst.
- TapiClose() Die TAPI-Schnittstelle wird geschlossen. Die Liste mit den Gerätetreibern wird gelöscht.
-
Neues Objekt TapiDevice Für jeden installierten Telefonieanbieter existiert ein Gerätetreiber. Die Deskriptoren dieser Gerätetreiber können aus der von TapiOpen() zurückgegebenen Liste ermittelt werden. Das TapiDevice verfügt über folgende Systemeigenschaften:
- Name Der Name des TAPI-Gerätetreibers.
- Version Die TAPI-Version des Gerätetreibers. Es werden nur Treiber ab der TAPI-Version 1.4 unterstützt.
-
Neue Eigenschaft Size für die Objekte Toolbar und Statusbar Mit dieser Eigenschaft kann die Höhe bei am oberen oder unteren Rand gesetzten Werkzeugleisten und der Statuszeile, sowie die Breite bei am linken oder rechten Rand gesetzten Werkzeugleisten gesetzt werden. Die Mindesthöhe wird durch die enthaltenen Schaltflächen vorgegeben. Das Eintragen eines kleineren Wertes hat keine Auswirkung auf die Werkzeugleiste oder Statuszeile. Soll die Höhe kleiner sein, als die Mindesthöhe, muss ein negativer Wert eingetragen werden. Die Höhe entspricht dann dem Absolutwert. Die Schaltflächen werden zentriert dargestellt.
-
Neue Eigenschaft TabPos Diese Eigenschaft steht für alle Objekte zur Verfügung, deren Reihenfolge verändert werden kann. Durch das Setzen der Eigenschaft kann die Fokusreihenfolge zur Laufzeit verändert werden. Siehe Prozedur "TabPos" in der Beispiele-Datenbank DLG47-06.CA1.
-
Erweiterte Eigenschaft Caption für Button- und Toolbar-Button-Objekte Bei diesen Objekten kann eine mehrzeilige Caption angegeben werden. Im Designer kann dazu durch einen Doppelklick auf den Begriff "Caption" ein Eingabefenster aufgerufen werden. Zur Laufzeit kann der Eigenschaft eine Zeichenkette, die mit StrChar(13) zusammengesetzt ist, zugewiesen werden.
-
Neues Ereignis EvtTapi Dieses Ereignis wird ausgelöst, wenn bei einem überwachten Gerät ein Anruf eingeht oder über dieses Gerät getätigt wird. Die Überwachung wird durch den Befehl TapiListen() gestartet und kann mit dem gleichen Befehl auch wieder beendet werden. Das Ereignis wird bei einem Fenster-Objekt ausgelöst. Siehe Prozedur "Tapi" in der Beispiele-Datenbank DLG47-06.CA1.
-
Erweiterung des Ereignisses EvtKeyItem Das Ereignis wird jetzt auch für das TreeView-Objekt aufgerufen. Darüber hinaus wurden die Tasten, die das Ereignis auslösen, erweitert. Das Ereignis wird für folgende Tasten (bzw. Tastenkombinationen bei gleichzeitigem Drücken mit
<Shift>bzw.<Strg>ausgelöst: -
_WinKeyReturnbzw._WinKeySelect -
_WinKeyEsc(nicht in Kombination mit<Strg>) -
_WinKeyTab -
_WinKeyInsert -
_WinKeyDelete -
_WinKeyHome -
_WinKeyEnd -
_WinKeyPageUp -
_WinKeyPageDown -
_WinKeyF1..._WinKeyF12 -
_WinKeyA..._WinKeyZ(nur in Kombination mit<Strg>)
Siehe Prozedur "TreeView" in der Beispiele-Datenbank DLG47-06.CA1.
-
Neue Compileranweisungen zur bedingten Übersetzung:
- @define Mit dieser Anweisung können Metavariablen definiert werden. Ob eine bestimmte Variable definiert ist oder nicht, kann mit den Anweisungen @ifdef und @ifndef ermittelt werden.
- @undef Diese Anweisung entfernt eine zuvor definierte Metavariable.
- @ifdef Mit dieser Anweisung wird geprüft, ob eine Metavariable mit @define definiert wurde. Ist die Variable definiert wird der Prozedurtext nach der @ifdef-Anweisung übersetzt, ist die Variable nicht definiert, wird der Prozedurtext nach der @else-Anweisung übersetzt, falls eine @else-Anweisung vorhanden ist. Die @ifdef-Anweisung wird mit der Anweisung @endif beendet.
- @ifndef Mit dieser Anweisung wird geprüft, ob eine Metavariable nicht definiert wurde. Ist die Variable nicht definiert wird der Prozedurtext nach der @ifndef-Anweisung übersetzt, ist die Variable definiert, wird der Prozedurtext nach der @else-Anweisung übersetzt, falls eine @else-Anweisung vorhanden ist. Die @ifndef-Anweisung wird mit der Anweisung @endif beendet.
-
Erweiterter Befehl FileInfo() Mit dem Parameter _FileOemMark kann ermittelt werden, ob eine Datei für das OEM-Kit markiert wurde. Siehe Prozedur "FileInfo" in der Beispiele-Datenbank DLG47-06.CA1.
-
Tastatursteuerung im Designer
- Aktivieren und Deaktivieren von Werkzeugfenstern Die Funktion der Funktionstasten zum Aktivieren und Deaktivieren der Toolfenster (
<F5>...<F9>) wurden erweitert. Befindet sich das entsprechende Fenster im Hintergrund, wird durch das Drücken der Funktionstaste zunächst das Fenster in den Vordergrund geholt. Befindet sich das Fenster im Vordergrund, wird es durch Drücken der Funktionstaste deaktiviert. - Direkte Befehlshilfe für Datenstrukturelemente Innerhalb des Prozedur-Editors kann die direkte Befehlshilfe (
<Strg>+<F1>) auch aufgerufen werden, wenn der Eingabefokus auf einem Element der Datenstruktur (Feld, Teildatensatz, Datei, Schlüssel usw.) steht. In diesem Fall wird im Datenbankinfo-Fenster die Notizbuchseite mit der Datenstruktur angezeigt und der Fokus auf das entsprechende Element in der Datenstruktur gesetzt. - Suche in den Datenstrukturelementen Innerhalb der Datenstruktur des Datenbankinfo-Fensters kann nach Namen aus der Datenstruktur gesucht werden. Steht der Fokus in diesem Fenster kann mit der Taste
<F3>ein Eingabefeld erzeugt werden. Hier kann der Name eines Strukturelementes angegeben werden. Wird die Eingabe mit<Return>abgeschlossen, steht der Fokus auf dem entsprechenden Element der Datenstruktur.
- Aktivieren und Deaktivieren von Werkzeugfenstern Die Funktion der Funktionstasten zum Aktivieren und Deaktivieren der Toolfenster (
-
CONZEPT 16-Release 4.7.05 - 2004-05-07
-
Texte mit Daten mischen Ab diesem Release können Texte und RTF-Texte mit Daten gemischt werden. Dazu werden in den Text entsprechende Platzhalter für Felder der Datenbank und globale Variablen eingetragen. Diese Platzhalter können dann beim Lesen, Schreiben oder Drucken des Textes ersetzt werden. Eine genauere Beschreibung befindet sich im Abschnitt Text und Daten mischen.
-
Neue Eigenschaft RtfMixMarker beim _App-Objekt Durch diese Eigenschaft kann die Markierung gesetzt werden, die ein Datenbankfeld oder eine globale Variable im RTF-Text eindeutig kennzeichnet. Voreingestellt ist das Tilde-Zeichen (~). Es kann jedoch auch jedes andere ASCII-Zeichen verwendet werden. Wird der Eigenschaft eine leere Zeichenkette übergeben, wird wieder das Tilde-Zeichen als Markierung gesetzt.
-
Neue Eigenschaft PrintToFile beim PrintJob-Objekt Über diese neue Eigenschaft kann die Druckausgabe über den angegebenen Druckertreiber direkt in eine Datei geschrieben werden. Zum Beispiel kann beim Microsoft Office 2003 Document Image Writer eine MDI- (Microsoft Document Image) oder TIFF-Datei erzeugt werden.
-
Neue Eigenschaft ZOrder für das Box-Objekt Die Eigenschaft existiert jetzt auch für Box-Objekte eines GanttGraph- oder PrtGanttGraph-Objektes. Die Eigenschaft funktioniert analog zur Eigenschaft im Intervall-Objekt. Die Z-Order Eigenschaft wird erst aktiv, wenn im GanttGraph- bzw. PrtGanttGraph-Objekt das Flag _WinGanttIvlBoxZOrderDraw bzw. _PrtGanttIvlBoxZOrderDraw gesetzt wird.
-
Neue Eigenschaft DbFieldName für das Label-Objekt Das Label-Objekt verfügt über die Eigenschaft DbFieldName. Anders als bei Edit-Objekten werden jedoch nur Daten aus den Feldpuffern in das Objekt übertragen und nicht umgekehrt. In die Eigenschaft kann ein Datenbankfeld beliebigen Datentyps eingetragen werden.
-
Neue Eigenschaften ColErrRangeBkg und ColErrRangeFg für das TimeEdit-Objekt Wird in einem TimeEdit-Objekt eine falsche Uhrzeit oder eine Zeit außerhalb der vorgegebenen Grenzen (MinTime / MaxTime) eingegeben, wird das Objekt in den hier eingetragenen Vorder- und Hintergrundfarben dargestellt. Durch die andersfarbige Darstellung kann die Aufmerksamkeit des Benutzers auf Fehleingaben gelenkt werden.
-
Neue Ausprägung in der Eigenschaft Flags des Applikationsobjektes Wird die Konstante _WinAppEditTimeFast bei der Eigenschaft Flags des Application-Objektes gesetzt, findet beim TimeEdit-Objekt keine Korrektur des Inhaltes statt, wenn der Zeitwert ungültig oder außerhalb des durch MinTime und MaxTime definierten Bereiches liegt. Dadurch wird ein schnelles Editieren von Zeitfeldern möglich.
-
Neue Ausprägung in der Eigenschaft TreeFlags Mit der Ausprägung _WinTreeClickFocusSet beim TreeView-Objekt kann bestimmt werden ob der Fokus nach dem Anklicken eines Knotens im TreeView-Objekt verbleibt. Ist diese Konstante beim TreeView-Objekt nicht gesetzt, erhält das Objekt nicht den Eingabefokus, wenn auf einen Knoten des TreeView mit der linken Maustaste geklickt wird. Standardmäßig ist die Konstante gesetzt, sodass das Verhalten mit vorherigen CONZEPT 16-Versionen identisch ist.
-
Neue Ausprägung in der Eigenschaft Flags für Notebook-Objekte Normalerweise wird durch die Betätigung der Tastenkombination
<STRG>+<TAB>oder<STRG>+<SHIFT>+<TAB>zur nächsten bzw. vorhergehenden Seite eines Notebooks gewechselt, wenn ein Unterobjekt des Notebooks oder das Notebook selber den Fokus besitzt. Durch Setzen der Konstante _WinFlagNbCtrlTabOff in der Eigenschaft "Flags" des Notebooks kann dieses Verhalten ausgeschaltet werden. -
Erweiterung in den Übergabeparametern des Ereignisses EvtIvlDropItem Wird ein Intervall eines GanttGraph-Objektes in der Größe verändert, verschoben oder kopiert, sodass sich das Intervall anschließend mit einem anderen Intervall überschneidet, wird in dem Übergabeparameter
aEvt:IDder Wert _WinEvtIvlDropItemOverlap übergeben. -
Neue Einstellung im Designer Im Abschnitt "Allgemein" des Einstellungs-Dialoges gibt es nun die Option "Benutzerprofil vor der Ausführung speichern". Standardmäßig ist diese aktiviert und bewirkt das Speichern der benutzerspezifischen Einstellungen vor der Ausführung des Befehls "Testen" im Prozedur-Editor (
<Strg>+T) bzw. vor dem Durchführen der Startprozedur (<Strg>+R). -
CONZEPT 16-Release 4.7.04 - 2004-03-26
-
Neue Eigenschaften beim _Sys-Objekt
- TerminalSession Über diese Eigenschaft kann bestimmt werden, ob der CONZEPT 16-Client in einer Terminal-Sitzung gestartet wurde.
- ProcessID Die Prozess-ID des CONZEPT 16-Clients kann ermittelt werden.
-
Neue Eigenschaft WaitCursor beim _App-Objekt Über die Eigenschaft kann der Mauszeiger in eine Sanduhr verwandelt werden.
-
Erweiterte Eigenschaft Flags beim _App-Objekt Über die Ausprägungen _WinAppObj2FldOff und _WinAppFld2ObjOff kann das automatische Updateverhalten beim Fokuswechsel aus und nach Eingabeobjekten beeinflusst werden.
-
Erweiterung der Möglichkeiten beim GanttGraph- und PrtGanttGraph-Objekt Das Setzen der Eigenschaft ScalaLabels war bislang nur durch direkte Angabe der kommaseparierten Zeichenkette möglich. Ab sofort steht als Alternative die Verwendung von Indizes zur Verfügung:
$axsSample->wpScalaLabels(1) # 'Sample1'; // Setzen des 1. Labels
tLabel # $axsSample->wpScalaLabels(1); // Ermitteln des 1. Labels
Auf diese Weise können bis zu 30000 Skalenbeschriftungen pro Achse erzeugt werden. Die maximal mögliche Anzahl von Skalenbeschriftungen der Achse muss zuvor mit der Eigenschaft ScalaLabelCount gesetzt werden.
-
Erweiterung der Eigenschaft StyleIvl Bei den Objekten GanttGraph und PrtGanttGraph existieren weitere Darstellungsstile:
- _WinStyleIvlRound - Intervall mit abgerundeten Ecken
- _WinStyleIvlHexagon - sechseckiges Intervall
-
Neue Eigenschaft GanttFlags bei GanttGraph- und PrtGanttGraph-Objekten In dieser Eigenschaft können folgende Ausprägungen gesetzt werden: Das Setzen der Ausprägungen _WinGanttScroll... kann nur beim GanttGraph-Objekt erfolgen.
- _WinGanttScrollDragMove Der View-Bereich des GanttGraphen wird gescrollt, wenn während des Drag & Drop-Vorgangs der Mauszeiger an die Seitenränder des View-Bereiches gelangt.
- _WinGanttScrollDragSize Der View-Bereich des GanttGraphen wird gescrollt, wenn während der Vergrößerung eines Intervalls der Mauszeiger an einen der Seitenränder des View-Bereiches gelangt.
- _WinGanttScrollAccelerate Erfolgt ein Scrollen des View-Bereiches, bewirkt diese Ausprägung, dass nach einiger Zeit automatisch seitenweise gescrollt wird.
- _WinGanttZOrderDraw Die Eigenschaft ZOrder wird ausgewertet.
- _WinGanttIvlBoxClick Ist dieses Flag gesetzt, wird das Ereignis EvtMouseItem ausgelöst, wenn in einem GanttGraph-Objekt ein Box-Objekt angeklickt wird.
-
Anzeige überlappender Intervalle in den Objekten GanttGraph und PrtGanttGraph In der Eigenschaft ZOrder von Interval- und PrtInterval-Objekten kann die Ebene, in der das Intervall gezeichnet werden soll, angegeben werden.
-
Neue Farbeigenschaften bei GanttGraph- und PrtGanttGraph-Objekten
- ColIvlBorder - Rahmenfarbe für Intervalle
- ColIvlArrows - Farbe der Pfeile in Intervallen
- ColBkgBase - Basis-Füllfarbe
-
Eigenschaften PictureName und ictureMode für Frame- und MdiFrame-Objekte Über diese Eigenschaften können Hintergrundbilder angegeben werden. Untergeordnete Objekte, die die Hintergrundfarbe des Fenster-Objektes ausgeben würden, erscheinen transparent.
-
Neue Eigenschaft ColParent für das ColorButton-Objekt In dem Objekt kann eine Farbe angegeben werden, die ausgegeben wird, wenn die Farbe des Eltern-Objektes (_WinColParent) ausgewählt wird.
-
Neue Eigenschaft ShowText für das Progress-Objekt Mit dieser Eigenschaft kann die Anzeige des Textes unterbunden werden. Für die Darstellung unter WindowsXP gibt es die neue Konstante _WinStyleShadeTheme. Diese schaltet die unter WindowsXP übliche Darstellung ein.
-
Neue Eigenschaft ClickedTrigger für das RadioButton-Objekt Die Eigenschaft bestimmt unter welchen Umständen das EvtClicked Ereignis ausgelöst wird. Wird die Konstante _WinClkTriggerChanged gesetzt, wird EvtClicked nur dann ausgelöst, wenn der Radiobutton aktiviert wurde und zuvor nicht markiert war.
-
Erweiterung der Eigenschaft LstFlags Durch Deaktivierung der Ausprägung _WinLstSystemEvtSelect können andere Ereignisse während der Verarbeitung des Ereignisses EvtLstSelect unterbunden werden.
-
Neue Prozedurbefehle
- WinRtfLoadBin() - Lädt den Inhalt eines binären Objektes direkt in ein RtfEdit-Objekt.
- WinRtfSaveBin() - Speichert den Inhalt eines RtfEdit-Objektes in ein binäres Objekt.
- WinRtfSearch() - Durchsucht den Inhalt eines RtfEdit-Objektes.
- WinSleep() - Die Ausführung der Prozedur wird angehalten, im Gegensatz zum Befehl SysSleep() werden aber Ereignisse verarbeitet.
-
Erweiterte Prozedurbefehle
- WinDialog() / WinDialogRun() Mit der Konstanten _WinDialogCreateHidden wird ein Dialog erst dann angezeigt, wenn alle untergeordneten Objekte geladen sind.
- SelInfo() Mit der Konstanten _SelFile wird aus einem Selektionsdeskriptor die Datei einer Selektion ermittelt.
- StrCnv() Mit dem Parameter _StrLetterExt werden alle alphabetischen Sonderzeichen entfernt und Umlaute auf ihr Basiszeichen (ä -> a) konvertiert.
- NetInfo() Mit den Parametern _NtiNameTSC und _NtiAddressTSC kann der Name und die IP-Adresse des Terminalserver-Clients ermittelt werden.
- WinEvtProcessSet() Mit dem Parameter _WinEvtSystem kann die Verarbeitung von System-Ereignissen deaktiviert und aktiviert werden.
-
Anordnen von Werkzeugfenstern Über den Menüpunkt "Anzeigen / Toolfenster / Im Arbeitsbereich anordnen" können Werkzeugfenster und der Suchen-Dialog des Prozedur-Editors im sichtbaren Bereich des primären Bildschirms angezeigt werden.
-
CONZEPT 16-Release 4.7.03 - 2004-02-09
-
Erweiterung des DateEdit-Objektes Das DateEdit-Objekt wurde um die Eigenschaften ColErrRangeFg und ColErrRangeBkg erweitert. Ein ungültiger Datumswert wird in der entsprechenden Farbe dargestellt. Durch Setzen des Farbwertes _WinColUndefined wird die farbliche Hervorhebung ausgeschaltet (Standard).
-
Erweiterung des Verhaltens bei Schnelleingabe für Datumsfelder (_WinAppEditDateFast) Die Einhabemöglichkeiten wurden noch etwas gelockert. Bei der Eingabe der einzelnen Segmente (Tag, Monat, Jahr) findet keine Überprüfung mehr statt, ob diese zusammen ein gültiges Datum ergeben. Auch wenn das DateEdit-Objekt den Fokus verliert, wird ein ungültiges Datum nicht korrigiert. Wird ein ungültiges Datum über die Eigenschaft CaptionDate ermittelt, wird ein Nulldatum zurückgegeben (Tag, Monat und Jahr sind Null).
-
CONZEPT 16-Release 4.7.02 - 2004-02-02
-
Neue Befehle
- WinEvtProcessSet() Aktivieren oder Deaktivieren eines Ereignisses oder aller Ereignisse.
- WinEvtProcessGet() Ermittelt, ob ein Ereignis aktiviert oder deaktiviert ist.
- WinEvtProcNameGet() Gibt den Funktionsnamen zurück, der bei einem Ereignis eingetragen ist.
- UserPassword() Ändert das Kennwort eines Benutzers
-
Erweiterte Eigenschaft Flags Für das Applikations-Objekt ist die Ausprägung _WinAppEditDateFast hinzugekommen. Mit dieser Einstellung wird nicht der gesamte Inhalt eines DateEdit-Objektes selektiert, wenn das Objekt den Fokus bekommt. Die Eingabemarkierung steht am Anfang der Eingabe. Das bestehende Datum kann einfach überschrieben werden.
-
Erweiterte Prozedurbefehle WinRtfLoadName() und WinRtfSaveName() Mit den Konstanten _WinRtfSaveOEM und _WinRtfLoadOEM können Dateien im OEM-Format gespeichert bzw. gelesen werden.
-
Erweiterung des OEM-Kits Mit dem OEM-Kit können jetzt auch Drucklisten verarbeitet werden. Drucklisten können sowohl als Parameter ein- und ausgelagert, als auch in Definitionsdateien aufgenommen werden. Hinweis!
Eine mit dem Client 4.7.02 erstellte Definition kann nicht mit einem Client 4.7.00 oder 4.7.01 eingelesen werden. Ebenso können keine Definitionen, die mit älteren Clients (Version 4.7.00 und 4.7.01) erzeugt wurden, mit der Version 4.7.02 eingelesen werden.
-
CONZEPT 16-Release 4.7.01 - 2003-12-19
-
Neues Objekt: PrtRtf Mit diesem Objekt können RTF-Texte in entsprechenden Druck-Objekten ausgedruckt werden. Siehe Prozeduren "PrtRtfForm" und "PrtRtfDoc" in der Beispieldatenbank DLG47-01.CA1.
-
Neue Option bei der Eigenschaft Range Durch Übergabe der Option _RtfRangeUpdate bei der Eigenschaft Range, wird der darstellbare Bereich im PrtRtf-Objekt neu berechnet.
-
CONZEPT 16-Release 4.7.00 - 2003-12-05
Hinweise!
Zum Betrieb der Client-Version 4.7 wird der CONZEPT 16-Server ab Version 1.8.08 benötigt.
Geänderte Übergabeparameter beim Befehl CnvAF(): In (int5) wird nicht mehr die Anzahl der Vorkommastellen, sondern die Gesamtlänge der Zeichenkette übergeben. Damit kann bei unterschiedlicher Formatierung z. B. mit oder ohne Tausendertrennung die Gesamtlänge besser eingegrenzt werden.
Beim ersten Aufruf einer Datenbank wird eine Konvertierung aller Dialogresourcen durchgeführt. Die Dauer der Konvertierung hängt dabei von der Anzahl der in der Datenbank gespeicherten Dialoge ab und kann bis zu mehreren Minuten in Anspruch nehmen. Bei der Konvertierung findet eine Kompression aller Dialoge, Menüs und Printobjekte statt. Durch den erzielten hohen Kompressionsfaktor von 1:10 oder mehr verringert sich die Ladezeit insbesondere von umfangreichen Dialogen.
Nach der Konvertierung kann die Datenbank nur noch mit Clients geöffnet werden, die explizit für den Betrieb mit 4.7 Datenbanken vorgesehen sind. Dies betrifft die Programmierschnittstelle, den ODBC-Treiber und den CONZEPT E-Client. Ein DbaConnect() des Clients 4.7 ist ebenfalls nur mit Datenbanken der Release 4.7 möglich. Diese Einschränkungen ergeben sich aufgrund der neuen Feldtypen. Diese bedingen eine Modifikation des gespeicherten Datensatzformats, welches von älteren Releaseständen nicht unterstützt wird.
Designer
- Änderungen bei den Objekteditoren:
- Die Objekteditoren können in der Größe verändert werden.
- Innerhalb der Objekteditoren können mehrere untergeordnete Objekte durch Gedrückthalten der
<Shift>-Taste selektiert werden. - Die Liste der Eigenschaft ImageTile ist alphabetisch (Name der Konstante) sortiert. Damit wird das Suchen nach einem bestimmten Eintrag vereinfacht.
- Konvertieren von Eingabe-Objekten Im Kontextmenü eines oder mehrerer selektierter Eingabeobjekte steht nun der Befehl "Edit-Objekte umwandeln in" zu Verfügung. Dadurch ist es z. B. möglich alle FloatEdit-Objekte in DecimalEdit-Objekte umzuwandeln. Eigenschaften, die im Zielobjekt nicht vorhanden sind, gehen verloren.
- Neue Eingabe-Objekte:
- BigIntEdit
- DecimalEdit
- FontNameEdit
- FontSizeEdit
- ColorButton
- Neues Objekt PrtGanttGraph: Das PrtGanttGraph-Objekt ist vereinfacht gesagt ein GanttGraph-Objekt für die Druckausgabe. Das PrtGanttGraph-Objekt kann genauso wie ein GanttGraph-Objekt behandelt werden. Unterschiede ergeben sich bei Eigenschaften, die beim GanttGraph-Objekt in Pixel angegeben werden. Bei der entsprechenden Eigenschaft beim PrtGanttGraph-Objekt müssen logische Einheiten angegeben werden. Ein Beispiel dafür ist die Eigenschaft CellSizeHorz, die die Breite einer Zelle in Pixeln (im GanttGraph-Objekt), bzw. in logischen Einheiten (im PrtGanttGraph-Objekt) definiert. Neue Objekte im PrtGanttGraph-Objekt: Ein bestehendes GanttGraph-Objekt kann einfach via Copy & Paste aus einem Frame in eine PrintForm oder ein PrintDocument übernommen werden. Das funktioniert auch, wenn mehrere Objekte selektiert sind. Für jedes kopierte GanttGraph-Objekt wird ein entsprechendes PrtGanttGraph-Objekt erstellt. Die Bearbeitung der Achsen im PrtGanttGraph-Objekt erfolgt analog zum GanttGraph-Objekt über einen Objekt-Editor. Siehe Prozedur "GanttGraph" in der Beispieldatenbank DLG47-00.CA1.
- PrtInterval
- PrtIvlBox
- PrtIvlLine
- PrtGanttAxis
- Neue Druckobjekte für Listen Im Zusammenhang mit den Eigenschaften VisiblePrint und SkipPrint kann für bestimmte Objekte verhindert werden, dass sie gedruckt werden. Siehe Prozeduren "PrtLstKunde1" und "PrtLstKunde2" in der Beispieldatenbank DLG47-00.CA1.
- PrintFormList
- PrtLine
- PrtLineBorder
- PrtBorder
- Neues Objekt RtfEdit In diesem Objekt können Texte im RTF-Format geschrieben und formatiert werden. Die Texte können als externe Dateien oder interne Texte vorliegen. Siehe Prozeduren "RtfExample1" und "RtfExample2" in der Beispieldatenbank DLG47-00.CA1.
- Vordefinierte Werkzeugleisten
- ToolbarCopyPaste
- ToolbarMdi
- ToolbarRtf
- Neue Eigenschaft StyleButton für Button-Objekte
- Neue Eigenschaften für das GanttGraph- und PrtGanttGraph-Objekt
- CellSizeMode
- AreaHeightCells
- AreaWidthCells
- HeightIvl (nur PrtGanttGraph)
- Neue Eigenschaft für das Axis- und PrtGanttAxis-Objekt
- ScalaTextOrigin
- Neue Eigenschaften für Druck-Objekte
- VisiblePrint
- SkipPrint
- Erweiterung des TreeView-Objektes: Der TreeView bietet die Möglichkeit bis zu 16 verschiedene Text-Vordergrund-, Text-Hintergrund- und Schriftattribute zu definieren, die bei der Ausgabe der Knoten verwendet werden. Hierzu existieren die folgenden Eigenschaften: Der beim TreeView-Objekt definierte Index wird beim TreeNode-Objekt in der Eigenschaft IndexData eingetragen. Siehe Prozedur "TreeColor" in der Beispieldatenbank DLG47-00.CA1.
- IndexColFg
- IndexColBkg
- IndexFont
- Erweiterung des GanttGraph-Objektes:
- Die Eigenschaft ScalaLabels des GanttGraph-Achsen-Objektes akzeptiert nun auch die Angabe "w" bzw. "ww" zur Ausgabe der Kalenderwoche beim $(DATE)-Makro.
- In der Eigenschaft FontIvl kann die Schriftart eingestellt werden, die Intervalle für die Textausgabe verwenden.
- Box-Objekte des GanttGraphs verfügen nun auch über die Eigenschaft HelpTip.
- Im Achsen-Objekt kann über die Eigenschaft ScalaColorEdge die Farbe einer Trennlinie eingestellt werden. Diese Linie wird am unteren (horizontale Achse) bzw. rechten Rand (vertikale Achse) der Skala dargestellt.
- Über die Eigenschaften AreaWidthCells und AreaHeightCells kann die Anzahl der vollständig sichtbaren Zellen in horizontaler bzw. vertikaler Richtung abgefragt werden.
- Neues Ereignis EvtSocket für AppFrame- und Frame-Objekte Das Ereignis wird ausgelöst, wenn über eine passive Socket-Verbindung eine Verbindung hergestellt wird.
Daten- und Feldtypen
- Neue Daten- und Feldtypen:
- bigint Ganzzahlig 64-Bit
- decimal Dezimal-Wert
- memo (nur in der Datenstruktur) Alphanumerisch 4096 Zeichen
- range (nur in Prozeduren) Bereich
- rtftab (nur in Prozeduren) Tabulator
- Alternative Typbezeichnungen:
- int8 für byte
- int16 für word
- int32 für long oder int
- int64 für bigint
Prozeduren
-
Neue Befehle für den variablen Feldzugriff Der Zugriff auf Memo-Felder erfolgt mit FldAlpha() bzw. FldAlphaByName().
- FldBigInt()
- FldBigIntByName()
- FldDecimal()
- FldDecimaByName()
-
Neue Befehle zur Konvertierung von Datentypen
-
Befehl: von nach
-
CnvAB(): bigint alpha
-
CnvAM(): decimal alpha
-
CnvIB(): bigint int
-
CnvIM(): decimal int
-
CnvBA(): alpha bigint
-
CnvBI(): int bigint
-
CnvBF(): float bigint
-
CnvBM(): decimal bigint
-
CnvBC(): caltime bigint
-
CnvFB(): bigint float
-
CnvFM(): decimal float
-
CnvMA(): alpha decimal
-
CnvMI(): int decimal
-
CnvMF(): float decimal
-
CnvMB(): bigint decimal
-
CnvCB(): bigint caltime
Ist eine Typkonvertierung aufgrund des Ausgangswerts nicht möglich, erfolgt jetzt der Laufzeitfehler "Typkonvertierung nicht möglich". Mit der Funktion ErrIgnore() kann der Laufzeitfehler abgeschaltet werden. In diesem Fall wird der globale Fehlerwert auf _ErrCnv gesetzt.
-
Neue mathematische Funktionen
-
Funktionsname: Funktion
-
fract(): Ermitteln eines Nachkommateils
-
ceil(): ganzzahlige obere Grenze
-
floor(): ganzzahlige untere Grenze
-
Rescale(): Kommaverschiebung eines Dezimal-Wertes
-
trn(): Nachkommastellen abschneiden
-
rnd(): Nachkommastellen runden
-
Neue Funktionen für den Zugriff auf externe Dateien
- FsiSeek64()
- FsiSize64()
-
Neuer Socket-Befehl Siehe Prozeduren "SckMessage", "TimeClient" und "TimeServer" in der Beispieldatenbank DLG47-00.CA1.
- SckListen() Passive Socket-Verbindung aufbauen
-
Erweiterte Funktion SckInfo() Mit (int2) gleich _SckTimeout kann der Schreib-/Lese-Timeout des Sockets abgefragt bzw. geändert werden.
-
Erweiterung des Befehls PrtAdd() Für den PrtAdd()-Befehl gibt es die neue Konstante _PrtAddTop. Die Übergabe der Konstante an den Parameter (int2) bewirkt, dass die zuletzt hinzugefügten Objekte an oberster Stelle gedruckt werden und nicht von zuvor hinzugefügten Objekten einer anderen PrintForm überdeckt werden.