4D v14.3Diagnosehilfen beim Kompilieren |
||
|
4D v14.3
Diagnosehilfen beim Kompilieren
Diagnosehilfen beim Kompilieren
Es gibt drei Arten, die beim Analysieren und Korrigieren von Datenbanken unterstützen:
Hinweis: Eine wichtige Hilfe ist auch die Typisierung von Variablen über die automatischen Compilermethoden. Weitere Informationen dazu finden Sie im Abschnitt Typisierungen. Die Symboldatei ist eine Textdatei vom Typ ASCII (text only), deren Länge von der Größe Ihrer Datenbank abhängt. Diese Datei wird während dem Kompilieren nicht standardmäßig erzeugt. Dazu müssen Sie in den Datenbank-Eigenschaften auf der Seite Compiler die Option Symboldatei erzeugen aktivieren. Weitere Informationen dazu finden Sie im Abschnitt Optionen zum Kompilieren. Die erzeugte Datei liegt im gleichen Ordner wie die Strukturdatei der Datenbank. Sie lautet DatenbankName_symbols.txt. Die Symboldatei könnte folgendermaßen aussehen, wenn sie mit einem Texteditor geöffnet wird: Der Kopfteil zeigt den Namen der Datenbank sowie Datum und Uhrzeit der Erstellung. Das Dokument ist in vier Bereiche gegliedert:
Diese beiden Listen sind in vier Spalten unterteilt:
Hinweis: Der Compiler kann beim Kompilieren nicht feststellen, in welchem Prozess eine bestimmte Prozessvariable verwendet wird. Eine Prozessvariable kann in jedem Prozess einen anderen Wert haben. Folglich werden alle Prozessvariablen systematisch dupliziert, wenn ein neuer Prozess gestartet wird. Von daher empfiehlt es sich, auf den Speicherplatz zu achten, den sie beanspruchen. Bedenken Sie auch, dass der Platz für Prozessvariablen nicht mit der Stapelgröße für den Prozess zusammenhängt. Die Liste der lokalen Variablen wird in derselben Reihenfolge wie in 4D sortiert, d.h. in der Reihenfolge Datenbankmethode, Projektmethode, Trigger (Tabellenmethode), Formularmethode und Objektmethode. Die Liste ist in drei Spalten gegliedert:
Am Ende der Datei erscheint die komplette Liste Ihrer Datenbank- und Projektmethoden mit den Datentypen ihrer Parameter und dem zurückgegebenen Ergebnis. Die Information erscheint in folgender Form: Methodenname(Parameter Datentyp):Ergebnis Datentyp Sie können wählen, ob Sie während dem Kompilieren ein Fehlerdokument erzeugen wollen. Dazu wählen Sie in den Datenbank-Eigenschaften auf der Seite Compiler die Option „Erzeuge Fehlerdokument“ (siehe Optionen zum Kompilieren). Das erzeugte Fehlerdokument erhält den Namen DatenbankName_errors.xml und wird neben der Strukturdatei der Datenbank angelegt. Die Fehler sind zwar direkt im Compiler-Fenster verfügbar. Ein Fehlerdokument ist jedoch hilfreich, denn es lässt sich leicht auf andere Rechner übertragen, insbesondere wenn mehrere Entwickler in einer Client/Server-Umgebung zusammenarbeiten. Das Fehlerdokument wird im XML Format erstellt, um das automatische Analysieren seines Inhalt zu erleichtern. Damit können Sie auch eigene Formate zum Anzeigen der Fehler erstellen. Seine Länge richtet sich nach der Anzahl der Fehler und Warnungen, die der Compiler anzeigt. Öffnen Sie das Fehlerdokument über einen Texteditor, könnte es folgendermaßen aussehen: Das Dokument ist folgendermaßen gegliedert:
Eine Fehlerdatei kann drei Arten von Meldungen enthalten:
Diese Fehler erscheinen im Kontext, d.h. in der Zeile, wo sie gefunden werden – mit einer Erklärung. Der Compiler meldet diese Art Fehler, wenn er einen Ausdruck findet, in dem eine Inkonsistenz in Bezug auf den Datentyp oder die Syntax vorliegt. Die Liste der Syntax- bzw. Typisierungsfehler finden Sie im Handbuch 4D Programmiersprache im Abschnitt Fehlermeldungen. Treten diese Fehler auf, kann die Datenbank nicht kompiliert werden. Der Compiler meldet in folgenden Fällen einen allgemeinen Fehler:
Diese Fehler sind allgemein, da sie sich keiner bestimmten Methode zuordnen lassen. Im ersten Fall kann der Compiler keine spezifische Typisierung in der Datenbank durchführen. Im zweiten Fall kann er einen bestimmten Namen nicht eindeutig einem Objekt zuordnen. Die Liste der allgemeinen Fehler finden Sie im Handbuch 4D Programmiersprache im Abschnitt Fehlermeldungen. Warnungen sind keine Fehler. Eine Datenbank lässt sich trotz Warnungen kompilieren, sie geben lediglich potentielle Fehlercodes an. Warnungen erscheinen im Compiler-Fenster in Kursivschrift. Doppelklicken Sie auf jede Warnung, um die unmittelbar betroffene Methode im 4D Methodeneditor mit der in der Zeile hervorgehobenen Warnung zu öffnen. Bestimmte Warnungen können Sie auch deaktivieren (siehe Abschnitt Warnungen während dem Kompilieren deaktivieren). Bereichsprüfung ist standardmäßig in den Datenbank-Eigenschaften markiert. Weitere Informationen dazu finden Sie im Abschnitt Optionen zum Kompilieren). Bereichsprüfung beginnt nicht, wie bei den anderen Optionen, während dem Kompilieren, sondern erst, wenn die kompilierte Datenbank läuft. Das ist eine zusätzliche Analyse des Codes auf logische Übereinstimmung und schlüssige Syntax. Die Bereichsprüfung bewertet den Status von Objekten in der Datenbank zu einem bestimmten Zeitpunkt.Hier ein Beispiel: Nehmen wir an, Sie haben das Array MeinArray als Text deklariert. Die Anzahl der Elemente in MeinArray variiert je nach der aktuellen Methode. Um den Wert „Hallo“ dem Element 5 von MeinArray zuzuordnen, schreiben Sie: MeinArray{5}:="Hallo" Hat das Array zu dieser Zeit fünf oder mehr Elemente, ist alles in Ordnung. Die Zuweisung erfolgt ganz normal. Hat MeinArray dagegen zu diesem Zeitpunkt weniger als fünf Elemente, macht Ihre Zuweisung keinen Sinn. Solch eine Situation lässt sich beim Kompilieren nicht feststellen, da davon ausgegangen wird, dass die Methoden ausgeführt werden. Der Compiler kennt nicht die Umstände, unter denen diese Methode aufgerufen wird. Nur über die Bereichsprüfung können Sie überwachen, was gerade passiert, wenn die Datenbank läuft. Im obigen Beispiel würde der Compiler einen Fehler bei der Ausführung innerhalb von 4D melden. In diesem Fall ist die Bereichsprüfung eine wertvolle Hilfe beim Arbeiten mit Arrays, Zeigern und Zeichenketten. Fordern Sie die Bereichsprüfung an, erscheinen die vom Compiler gesendeten Meldungen in einem spezifischen Fehler-Dialogfenster. Weitere Informationen finden Sie im Handbuch 4D Programmiersprache im Abschnitt Meldung bei Bereichsprüfung. Ist die Bereichsprüfung aktiviert, wollen Sie diese in manchen Fällen auf bestimmte Teile des Code, die zuverlässig arbeiten, nicht anwenden. Das gilt insbesondere für Schleifen, die viele Male wiederholt werden. Hier kann die Bereichsprüfung die Bearbeitung signifikant verlangsamen, wenn die kompilierte Datenbank auf älteren Rechnern läuft. Sind Sie sicher, dass der betreffende Code korrekt ist und keine Systemfehler verursacht, können Sie die Bereichsprüfung für diese Teile des Codes deaktivieren. Dazu versehen Sie den entsprechenden Code mit den Kommentaren //%R- und //%R+. //%R- deaktiviert die Bereichsprüfung, //%R+ aktiviert sie wieder: ... //Bereichsprüfung ist aktiviert Hinweis: Diese Operation funktioniert nur, wenn die Bereichsprüfung aktiviert ist. Nehmen wir an, Sie stoßen beim Laufen der Datenbank auf Unregelmäßigkeiten. Ehe Sie über die Ursachen dafür spekulieren, sollten Sie die vom Compiler angebotene Unterstützung nutzen. Es gibt verschiedene Möglichkeiten:
|
EIGENSCHAFTEN
Produkt: 4D SCHLÜSSELWÖRTER warning, Contrôle d'exécution, %R ARTIKELVERWENDUNG
4D Designmodus ( 4D v14 R2) |