4D v16.3

Überblick

Home

 
4D v16.3
Überblick

Überblick  


 

 

Sie können Ihre Datenbank kompilieren, d.h. alle Methoden in Maschinensprache übersetzen. Durch Kompilieren der Datenbank überprüfen Sie die Konsistenz des Code und beschleunigen seine Ausführung. Außerdem können Sie den Code insgesamt schützen. Kompilieren ist ein unumgänglicher Schritt zwischen der Entwicklung von Datenbanken mit 4D und deren Einsatz als eigenständige Anwendung (stand-alone). 

Das Kompilieren ist vollkommen automatisch; es erfordert jedoch mehr Striktheit beim Schreiben von 4D Code. Das Kapitel Compiler des Handbuchs 4D Programmiersprache enthält Empfehlungen und spezifische Informationen zum Programmieren im Hinblick auf Kompilieren. Der Compiler dient auch dazu, jegliche Programmierfehler anzuzeigen und in ihren Kontext zu setzen.

Auf einem Computer werden Befehle nur unter Verwendung von „0“ und „1“ geschrieben. Diese binäre Sprache heißt Maschinensprache. Das Herz der Maschine, der Mikroprozessor, versteht nur diese Sprache. Ein Programm, das mit einer komplexen Computersprache geschrieben wird, z.B. C, C++, SQL, Java wird zuerst in Maschinensprache übersetzt, so dass es für den Mikroprozessor des Rechners verständlich wird.

Dafür gibt es zwei Möglichkeiten:

  • Die Anweisungen werden während der Ausführung übersetzt; das bedeutet, das Programm wird interpretiert
  • Die Anweisungen werden vor Ausführung des Programms als Ganzes übersetzt, das bedeutet, das Programm wird kompiliert

Wird eine Reihe von Anweisungen über einen Interpreter ausgeführt, passiert folgendes:

  • Das Programm liest die Anweisung in der zum Programm gehörenden Sprache
  • Es übersetzt die Anweisung in Maschinensprache
  • Es führt die Anweisung aus

Dieser Ablauf wird für jede Anweisung im Programm durchgeführt. Das Programm, welches diesen Ablauf steuert, heißt Interpreter. Für eine Datenbank in der Entwicklungsphase werden 4D Methoden interpretiert.

Ein kompiliertes Programm wird vor der Ausführung als Ganzes übersetzt. Das Ergebnis ist eine neue Datei mit einer Reihe von Anweisungen in Maschinensprache. Dieser Satz wird für wiederholten Gebrauch gesichert – Die Übersetzung wird nur einmal durchgeführt, die kompilierte Version des Programms steht für eine erneute Ausführung zur Verfügung.

Diese Phase ist vollkommen unabhängig von jeglicher Verwendung des Programms. Das Programm, das die Übersetzung durchführt, heißt Compiler.

Der Compiler in 4D kompiliert die Datenbankmethoden, Projektmethoden, Trigger, Formularmethoden und Objektmethoden in Ihrer Datenbank. Haben Sie keines dieser Elemente in einer Anwendung, hat der Compiler nichts zum Kompilieren.

Bei erfolgreich abgeschlossener Kompilierung ist die Verwendung der kompilierten Datenbank identisch zur Originaldatenbank.

Der größte Vorteil von Kompilieren ist natürlich die beschleunigte Ausführung. Weitere Vorteile sind:

  • Systematische Überprüfung des Code
  • Anwendung und Komponenten sind vor Veränderungen geschützt

Die gesteigerte Geschwindigkeit beruht auf zwei Merkmalen des kompilierten Code: Direkte Übersetzung des Code, auf einmal und komplett, sowie direkter Zugriff auf die Adressen von Variablen und Methoden.

  • Direkte und endgültige Übersetzung des Code
    Der Code der in 4D geschriebenen Methoden wird über den Compiler auf einmal und für alle übersetzt. Die Zeit, die im interpretierten Modus zum Übersetzen aller Anweisungen erforderlich ist, wird eingespart, wenn Sie mit einer kompilierten Datenbank arbeiten. Nehmen wir z.B. eine Schleife mit einer Folge von Anweisungen, die 50 mal wiederholt wird:
     For($i;1;50)
      `Folge von Anweisungen
     End for

    In einer interpretierten Datenbank wird jede Anweisung in der Folge 50 mal übersetzt. Der Compiler eliminiert die Übersetzungsphase für jede Anweisung. Sie sparen also für jede Anweisung in der Folge 50 Übersetzungen.
  • Direkter Zugriff auf die Variablen- und Methodenadressen
    In interpretierten Datenbanken wird auf Variablen über ihren Namen zugegriffen. Deshalb muss 4D auf den Namen zugreifen, um den Wert der Variablen zu erhalten.
    Im kompilierten Modus weist der Compiler jeder Variablen eine Adresse zu, schreibt diese Adresse direkt in den Code und geht – wenn erforderlich – direkt zu dieser Adresse.
    Hinweise:
    - Das betrifft nicht Operationen, die auf die Festplatte zugreifen müssen, da ihre Ausführungsgeschwindigkeit durch die Übertragungsrate zwischen Rechner und Peripherie (Treiber oder Festplatte) bestimmt wird.
    - Kommentare werden nicht übersetzt, sie erscheinen also nicht im kompilierten Code. Folglich beeinträchtigen Kommentare nicht die Ausführungszeit im kompilierten Modus.

Der Compiler dient auch als Syntax-Prüfer für Ihre Datenbanken. Er überprüft automatisch Ihren Code und bemerkt eventuelle Zweideutigkeiten. 4D erkennt das dagegen nur beim Ausführen der Methode.

Nehmen wir an, eine Ihrer Methoden enthält eine Reihe von Tests und eine Folge von auszuführenden Anweisungen. Bei einer hohen Anzahl von Tests ist eher unwahrscheinlich, dass Sie alle Fälle vollständig durchtesten. Es kann also passieren, dass ein Syntaxfehler in einem nicht getesteten Fall erst auftritt, wenn der Endbenutzer darauf stößt.

Probleme dieser Art werden vermieden, wenn Sie eine kompilierte Datenbank einsetzen. Beim Kompilieren einer Datenbank durchleuchtet der Compiler die gesamte Datenbank und analysiert jede Anweisung. Er findet jede Abweichung von der Normalität und erzeugt eine Fehlermeldung bzw. Warnung.

st Ihre Datenbank kompiliert, können Sie den interpretierten Code über den „Applikation Builder“ löschen. In diesem Fall ist der Zugriff auf die Designumgebung mit Ausnahme der Datensätze blockiert. Weitere Informationen zum Erstellen der Anwendung finden Sie im Kapitel Eigenständige Anwendung erstellen und weitergeben.

In einer kompilierten Datenbank sind die Befehle zum Entwickeln deaktiviert. 

Ist in der Host Datenbank eine kompilierte Komponente installiert, sind die gemeinsam genutzten Projektmethoden im Explorer verfügbar und lassen sich in Mehtoden der Host Datenbank aufrufen. Ihr Inhalt erscheint jedoch weder in der Vorschau noch im Debugger. Andere Projektmethoden der Komponente erscheinen nie. Weitere Informationen zu Komponenten finden Sie im Kapitel 4D Komponenten entwickeln und installieren.

Die Vorteile sind:

  • Die Struktur der Datenbank lässt sich nicht verändern, weder absichtlich noch aus Versehen
  • Ihre Methoden sind geschützt

In 4D ist ein Compiler integriert. Das Kompilieren der Datenbank wird über folgendes Dialogfenster ausgeführt:

Sie können das Kompilieren auch direkt starten. Wählen Sie dazu im Menü Design oder in der Werkzeugleiste im DropDown-Menü zum Icon Compiler den Befehl Kompilierung starten bzw. Kompilieren.

Die allgemeinen Optionen zum Kompilieren werden in den Datenbank-Eigenschaften auf der Seite Compiler definiert.

Auch bei kompilierter Datenbank können Sie jederzeit zwischen interpretiertem und kompiliertem Modus wechseln. Sie müssen das Programm nicht verlassen. Dazu rufen Sie in 4D im Menü Start>Neustart kompiliert bzw. interpretiert auf — außer der interpretierte Code wurde entfernt (siehe voriger Abschnitt). 

Sie können auch beim Starten der Datenbank im Öffnen-Dialog zwischen kompiliertem und interpretiertem Modus wählen. Weitere Informationen dazu finden Sie im Abschnitt Optionen des Öffnen-Dialogs

Ändern Sie die Struktur Ihrer Datenbank im interpretierten Modus, müssen Sie erneut kompilieren, damit die Änderungen berücksichtigt werden. 

Wechseln Sie den Modus, schließt 4D den aktuellen Modus und öffnet den neuen, d.h. die Anwendung wird geschlossen und wieder geöffnet. Folglich werden - sofern angegeben - nacheinander die beiden Datenbankmethoden aufgerufen: Datenbankmethode On Exit -> Datenbankmethode On Startup

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Kompilieren

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v16)
4D Designmodus ( 4D v16.1)
4D Designmodus ( 4D v16.3)