4D v16.3

Geändertes Verhalten

Home

 
4D v16.3
Geändertes Verhalten

Geändertes Verhalten    


 

In 4D v16 wurde die Lizenzverwaltung für 4D Produkte verbessert:

Vereinfachte erste Aktivierung: Eingeben einer neuen Lizenznummer im Dialogfenster Lizenzverwaltung aktiviert jetzt automatisch in einer einzigen Operation 4D Server und alle dazugehörigen Expansions, wie zusätzliche Clients, Plug-Ins, etc.

Neue Schaltfläche Aktualisieren: Sie können Ihre Lizenzen jetzt einfach per Klick auf diese Schaltfläche im Dialogfenster Lizenzverwaltung aktualisieren. 

Diese Schaltfläche verbindet Sie mit unserer Kundendatenbank und aktiviert automatisch alle neuen oder aktualisierten Lizenzen, die zur aktuellen Lizenz gehören. Diese erscheint in der Liste "Aktive Lizenzen" in Fettschrift. Sie werden lediglich nach Ihrem Benutzer-Account und Kennwort gefragt. Die Schaltfläche Aktualisieren verwenden Sie für folgende Fälle:

  • Sie haben eine zusätzliche Expansion erworben und wollen sie aktivieren
  • Sie müssen eine abgelaufene temporäre Nummer (Evolutionen oder Partner) aktualisieren

Neues Feature Auto-Aktivierung: Dieses Feature wird ausgelöst, wenn Sie ein neueres 4D Produkt starten, für das Sie noch nicht Ihre Lizenznummer eingegeben haben oder wenn die Lizenz auf dem Rechner, wo das Produkt installiert wird, nicht gültig ist. Die Auto-Aktivierung startet:

  • Wenn Sie eine lokale interpretierte Anwendung mit der 4D Developer Edition öffnen/erstellen. In diesem Fall erscheint eine Meldung, dass Sie mit unserer Kundendatenbank verbunden und Ihre Lizenzen  aktiviert werden (Sie müssen das Kennwort Ihres Benutzer-Account eingeben).
  • Wenn Sie eine 4D Server Anwendung starten. Um ihn als Service zu verwenden oder um automatische Updates zuzulassen, ist in diesem Fall der Prozess zur Auto-Aktivierung für den Benutzer transparent und vollkommen automatisch (es erscheint kein Dialogfenster).

OBJECT SET FORMAT / OBJECT Get format: Diese Befehle unterstützen jetzt Icons in den Kopfteilen einer Listbox.

METHOD GET CODE: Dieser Befehl gibt Code als eingerückten Text zurück.

DELETE FOLDER: Dieser Befehl kann jetzt einen Ordner löschen, der nicht leer ist.

Der Befehl FONT LIST gibt unter Windows nur Vektorschriften zurück.

Drucken  

Nur 64-bit Versionen: Die hier beschriebenen Funktionalitäten sind nur in 64-bit Versionen von 4D v16 verfügbar (4D Developer Edition und 4D Volume Desktop, siehe Abschnitt Umgestaltete Druckarchitektur).

In 4D 64-bit Versionen wurde die Architektur zum Drucken komplett umgestaltet, damit Sie die neuesten auf dem Betriebssystem basierenden Librairies und Dialogfenster zum Drucken nutzen können. Obwohl dieses interne Update für 4D Benutzer größtenteils transparent ist, sind folgende Änderungen zu beachten:

  • Das Dialogfenster Drucken (Windows und OS X) wurde aktualisiert und ist auf beiden Plattformen ein Standard Systemdialog.
  • Unter Windows wurde das Dialogfenster Seite einrichten aktualisiert; es kommt jetzt vom Betriebssystem.
  • Befehl PRINT SETTINGS: Beim Aufrufen eines Druckbefehls wird das Dialogfenster Seite einrichten nicht mehr automatisch angezeigt. Damit es erscheint, müssen Sie im Parameter Dialoge die Konstante Page setup dialog verwenden.
    Dieser Befehl hat Print dialog als zweite Konstante erhalten: Sie definiert, ob der Druckdialog angezeigt wird.
  • Folgende Druckoptionen (verwendet mit den Befehlen GET PRINT OPTION oder SET PRINT OPTION) wurden geändert:

    Option (Konstante)OSStatus in 4D v16Kommentar
    2 (Orientation option)Windows und OS XUpdatedLässt sich im Druckauftrag aufrufen, d.h. Sie können im gleichen Auftrag zwischen Hoch- und Querformat wechseln.
    8 (Color option)nur WindowsEntferntÜberholt
    13 (Mac spool file format option)nur OS XEntferntErsetzt durch neue Option des Befehls SET CURRENT PRINTER.

Hinweis: Die Befehle OPEN PRINTING JOB, CLOSE PRINTING JOB, SET PRINT OPTION und SET PRINT OPTION sind kompatibel mit dem Befehl WP PRINT von 4D Write Pro: Weitere Informationen dazu finden Sie im Abschnitt WP PRINT. Alle Optionen werden für 4D Write Pro Dokumente unterstützt, außer die Optionen Paper option und Orientation option. Hierfür empfehlen wir, stattdessen den Befehl WP USE PAGE SETUP zu verwenden, um Seitengröße und Ausrichtung getrennt zu setzen.

Zeilenkontrolle Array

Über die neue Eigenschaft Zeilenkontrolle Array können Sie neue Oberflächeneigenschaften steuern:

  • ein- oder ausgeblendet ist (sichtbar ist Standard)
  • aktiviert oder deaktiviert ist (aktiviert ist Standard)
  • auswählbar oder nicht auswählbar ist (auswählbar ist Standard)
Die Eigenschaft Zeilenkontrolle Array lässt sich über die Befehle LISTBOX SET ARRAY und LISTBOX Get array setzen oder erhalten. Das Array lässt sich auch mit dem Befehl LISTBOX GET ARRAYS zurückgeben
In bisherigen 4D Versionen hieß diese Eigenschaft "Ausgeblendete Zeilen Array" und erwartete ein Boolean Array. Zur Wahrung der Kompatibilität wird weiterhin ein Boolean Array als Zeilenkontrolle unterstützt. In diesem Array zeigt jedes Element den Status eingeblendet/ausgeblendet der entsprechenden Zeile in der Listbox. Wahr bedeutet ausgeblendet, Falsch bedeutet eingeblendet.

Kopf- und Fußteile

Die Mindesthöhe in Pixel für Kopfteile richtet sich nach dem Betriebssystem. Übergeben Sie einen zu kleinen Wert, wird er durch den im System festgelegten Mindestwert ersetzt. Für Fußteile und Zeilen gibt es keine Mindesthöhe.

Unter Windows 7 ist 24 Pixel als Mindesthöhe festgelegt. Haben Kopfteile in Ihren konvertierten Anwendungen eine geringere Höhe, werden sie automatisch auf 24 Pixel angepasst.
Über die Befehle LISTBOX SET HEADERS HEIGHT und LISTBOX SET FOOTERS HEIGHT können Sie die Höhe von Kopf- oder Fußteilen auch dynamisch setzen.

Da die Anpassung u.U. nicht Ihren Anforderungen entspricht, sollten Sie Ihre Formulare sicherheitshalber entsprechend prüfen.

Konvertierte Listboxen

Listboxen, die aus den früher vorhandenen gruppierten rollbaren Bereichen konvertiert wurden, sind verbunden und funktionieren in koordinierter Form: Bei Auswählen einer Zeile in einer Listbox wird dieselbe Zeile in allen Listboxen ausgewählt, die zur verbundenen Gruppe gehören. Bei vertikalem Scrollen in einer Listbox wird auch in allen anderen Listboxen gescrollt, die zur verbundenen Gruppe gehören.

Hinweis: Konvertierte Listboxen sind im Formular auch gruppiert (standardmäßige 4D Funktion).
Sie können diese Listboxen miteinander verbinden oder die Verbindung auflösen. Wählen Sie dazu im Menü Objekt des Formulareditors den Eintrag Verbinden bzw. Verbindung auflösen:

Diese Befehle werden aktiviert, wenn mehrere Listboxen im Formular ausgewählt sind. Wird eine verbundene Listbox ausgewählt (sie gehört z.B. zu einer verbundenen Gruppe), erscheint in allen Listboxen, die mit derselben Gruppe verbunden sind, ein entsprechendes Icon:

Diese Mechanismen ermöglichen, die Funktionsweise früherer gruppierter rollbarer Bereiche zu reproduzieren. Wir empfehlen Ihnen jedoch, konvertierte Formulare mit Hilfe der standardmäßigen Funktionalitäten für Listboxen anzupassen.

Im Zuge der Weiterentwicklung von 4D und von Hardware wurden auch die erweiterten Optionen des Formularassistenten angepasst:

  • Die Liste Bildschirm enthält jetzt die Auflösung "2048x1536":

  • In generierten Formularen bleibt die Eigenschaft Variablenname leer für Schaltflächen zum Navigieren.

Über einen neuen internen Algorithmus läuft die Ausführung von Replace string seit 4D v15 R3 signifikant schneller ab, wenn Sie einen String durch einen String mit anderer Länge ersetzen. Hierzu ein Beispiel::

 vResult:=Replace string(Source_Text;"a";"aa") //basiert auf Zeichen
 vResult2:=Replace string(Source_Text2;"à";"aa";*) //basiert auf Zeichen-Codes

Der neue Algorithmus ist für beide Syntaxarten optimiert. Je länger der Quelltext und die Anzahl der Ersetzungen sind, desto deutlicher ist die Optimierung.

Im Vergleich mit dem vorigen Algorithmus zeigt unser Test mit Benchmarks folgendes Ergebnis:

Ersetzungen mit Zeichen-Code (* übergeben)Ersetzungen mit Zeichen (* weggelassen)
Bis zu 950 mal schnellerBis zu 4400 mal schneller

Für die Tests wurde "a" mit "aa" ersetzt und in der Datei 32 000 mal ausgeführt.

Hinweis: Strings mit gleicher Länge werden genauso schnell ersetzt wie mit dem bisherigen Algorithmus.

Es gibt mehr Angaben, wenn doppelte Werte in Feldern mit der Eigenschaft "einmalig" gefunden werden. Dupletten können bei Änderungen an der Struktur oder der Datendatei entstehen:

  • Beim Einsatz des MSC oder eines Befehls wie VERIFY DATA FILE enthalten die Protokolle jetzt die Namen der dazugehörigen Tabelle(n) bzw. Feld(er), sowie jeden doppelten Wert.
  • Bei der Dateneingabe zeigt das Dialogfenster mit der Fehlermeldung jetzt den Namen der dazugehörigen Tabelle bzw. des Feldes und den duplizierten Wert an.
  • Auch der Befehl GET LAST ERROR STACK zeigt detaillierte Information zu doppelten Werten.
  • Öffnet 4D eine Datendatei, wenn ein Index erstellt oder neu aufgebaut werden muss, werden doppelte Werte jetzt automatisch in den zugewiesenen Feldern mit der Eigenschaft "einmalig" ausfindig gemacht. In diesem Fall erscheint vor dem Öffnen der Anwendung eine spezifische Meldung, so dass der Benutzer Dupletten finden und entfernen kann:

In vorigen 4D Releases hat der Parameter ElementName der Befehle DOM Get XML element und DOM Count XML elements nicht zwischen Klein- und Großschreibung unterschieden, das war nicht konform mit xml. Ab 4D v16.2 berücksichtigen diese Befehle nun standardmäßig Klein- und Großschreibung. Wollen Sie die vorige Funktionsweise beibehalten, verwenden Sie im Befehl XML SET OPTIONS statt XML DOM case sensitivity den Selector XML case insensitive.

4D verwendet beim Bewerten eines numerischen Ausdrucks mit einem 4D Tag (4DTEXT, 4DVAR, 4DHTML, 4DHTMLVAR und 4DEVAL) immer den Punkt (.) als Dezimaltrenner. In diesem Kontext werden regionale Einstellungen jetzt ignoriert.

Dieses Feature vereinfacht die Wartung von Code und Kompatibilität zwischen verschiedenen 4D Programmiersprachen und Versionen.

Hierzu ein Beispiel:

 value:=10/4
 input:="<!--#4DTEXT value-->"
 PROCESS 4D TAGS(input;output)
  // ergibt immer 2.5, selbst wenn regionale Einstellungen ',' als Trenner verwenden

Bewertet Ihr Code numerische Ausdrücke über 4D Tags mit Berücksichtigung regionaler Einstellungen, müssen Sie ihn mit dem Befehl String anpassen:

  • Für value mit einem Punkt als Dezimalzeichen: <!--#4DTEXT value-->
  • Für value mit einem Dezimalzeichen gemäß den regionalen Einstellungen: <!--#4DTEXT String(value)-->

Weitere Informationen dazu finden Sie im Abschnitt 4D HTML Tags.

Die Methode HTTP TRACE ist deaktiviert, es erscheint Fehler 405. Müssen Sie diese Methode aktivieren, können Sie die Option Web HTTP TRACE mit dem Befehl WEB SET OPTION verwenden. 

Logbücher, die während einer Wartungsoperation über das MSC oder das 4D Server Verwaltungsfenster erzeugt werden, haben jetzt einen Namen mit Zeitangabe. So wird jede Sicherung auf der Festplatte mit einem anderen Namen abgespeichert. In bisherigen Versionen hatte der Logbuchname keinen Zeitzusatz. Demzufolge wurde beim Starten einer neuen Wartungsoperation jeweils das vorige Logbuch (sofern vorhanden) mit dem neuen überschrieben. Jetzt ist es Aufgabe des Datenbankadministrators, bei Bedarf ältere Logbücher für 4D und 4D Server zu entfernen.

Änderungen zwischen den Versionen v15.x/v15Rx und v16: Betrifft die Verwaltung von "encoding" und "charsets", insbesondere für Dateinamen von Anhängen beim Senden von E-Mails. In Anwendungen, die mit Workarounds arbeiten, müssen Sie prüfen, ob diese Änderungen die Funktionsweise beeinträchtigen.

Zwei Befehle wurden aktualisiert: SMTP_Charset und SMTP_SetPrefs.

  • SMTP_Charset 
    Attachment filenames are encoded in base64 
    - Value 0 for parameters indicates using the default value (and not "Do not manage"), which means:
         For encodeHeaders: UTF-8 charset for "Subject", ISO-8859-1 for other fields
         For bodyCharset: UTF-8 charset encoded in base 64
    - Value 1 for parameters indicates using values defined by the SMTP_SetPrefs command.
  • SMTP_SetPrefs
    The second parameter (renamed charset&Encoding) indicates the charset and encoding used in the message body, as well as the charset of headers and attachment filenames to be sent. The documentation was clarified and lists all the combinations accepted:
    ValueBody charset and encodingHeaders and attachment filenames charset (encoding always base64)
    -1No changeNo change
    0Application & binary; no encodingISO-8859-1
    1Default: UTF-8 & base64Default: UTF-8 for subject, ISO-8859-1 for other fields
    2US-ASCII & 7bitISO-8859-1
    3US-ASCII & quotable-printableISO-8859-1
    4US-ASCII  & base 64ISO-8859-1
    5ISO-8859-1 & quotable-printableISO-8859-1
    6ISO-8859-1 & base64ISO-8859-1
    7ISO-8859-1 & 8bitISO-8859-1
    8ISO-8859-1 & binaryISO-8859-1
    9ReservedReserved
    10ISO-2022-JP (Japanese) & 7bitISO-2022-JP
    11ISO-2022-KR (Korean) & 7 bitsISO-2022-KR
    12ISO-2022-CN (Traditional & Simplified Chinese) & 7 bitISO-2022-CN
    13HZ-GB-2312 (Simplified Chinese) & 7 bitHZ-GB-2312
    14Shift-JIS (Japanese) & base64Shift-JIS
    15UTF-8 & quoted-printableUTF-8
    16UTF-8 & base64UTF-8

 
 

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Geändertes Verhalten

 
GESCHICHTE 

New
Geändert: 4D v16.2

 
ARTIKELVERWENDUNG

Konvertierung in 4D v16 ( 4D v16.2)
Konvertierung in 4D v16 ( 4D v16.3)

Geerbt von : Geändertes Verhalten ( 4D v16)