blockstatement behind "case" not allowed | Hinter einer Case-Anweisung wird eine Kontrollstruktur verwendet welche einen Block eröffnet, z.B. proc oder if . Mit XPSE erlaubt, ohne XPSE jedoch nicht möglich, ist jedoch:
|
cant convert inline assembler without XPIA | Im Quelltext wurden Assemblerpassagen deklariert aber die XPIA.EXE konnte nicht gefunden werden.
|
cant ''swap'' different variable types | Es wird versucht den Inhalt von zwei Variablen unterschiedlichen Typs mit swap auszutauschen.
|
"do begin" expected | Unvollständige Syntax bei Anwendung einer For -Schleife.
|
duplicate identifier ... | Ein Identifier wird doppelt verwendet. Entweder wird eine Variable doppelt deklariert - oder ein Prozedurname/Funktionsname wird doppelt verwendet - oder ein Prozedurname/Funktionsname wird bereits von einer Variable verwendet.
|
duplicate variableidentifier ... | Ein Variableidentifier wird doppelt verwendet. Die Meldung ähnelt der "duplicate identifier" Meldung mit dem Unterschied das es sich eindeutig um eine Variable handelt.
|
... include not found | Eine Includedatei konnte trotz Suche nicht aufgefunden werden.
|
... is not a procedure but function | Eine Funktion wird als Prozedur verwendet. Es ist unklar was mit dem Rückgabewert geschieht. Rückgabewerte sollten Grundsätzlich ausgewertet werden. Es wird nicht generell angemeckert wenn eine Funktion als Prozedur verwendet wird, aber meistens wenn es sich um eine Funktion handelt welche XPSE durch Umsetzung der Syntax selbst erzeugt.
|
keyword-collision | Es wird versucht ein Identifier zu nutzen welcher bereits im Wortschatz von XProfan enthalten ist. Diese Meldung wird nur unter sehr seltenen Umständen angezeigt - da die Meldung "Duplicate-Identifier" oft schneller ist. Es gibt jedoch Situationen wo die Meldung "Duplicate-Identifier" intern unterdrückt wird - dann jedoch erscheint bei einer Keyword-Kollision diese Meldung.
|
missing ... | XPSE vermisst eine Angabe oder ein Zeichen. Welche Angabe bzw. welches Zeichen XPSE vermisst stellt er anstatt "..." der drei Punkte dar. Oft wird eine Klammerunschlüssigkeit mit: "missing (" oder "missing )" angezeigt.
|
missing ''end'' argument | XPSE vermisst das "end" für einen mit "begin" eröffneten Bereich bei For -Schleifen.
|
missing "endif" | Ein "If" ohne dazugehöriges "Endif" wurde gefunden.
|
missing "endproc" | Ein "Proc" ohne dazugehöriges "Endproc" wurde gefunden.
|
missing "if" | Ein "Endif" ohne dazugehöriges "If" wurde gefunden.
|
missing "proc" | Ein "Endproc" ohne dazugehöriges "Proc" wurde gefunden.
|
namespacesign but no namespace ... | In einer Include wurde ein Namensraumsymbol gefunden, inkludiert wird jedoch ohne Angabe eines Namensraumsymboles. XPSE sieht es als Fehler an wenn eine Include (nicht Unit!) inkludiert wird in der Prozeduren/Funktionen/Variablen mit Namensraum deklariert werden - jedoch beim Inkludieren kein Namensraum festgelegt wurde. Wenn in einer Include also z.B. folgende Prozedur: deklariert ist, und die Include ohne Namensraum inkludiert wird: dann ist unklar ob die Namensraumangabe versehendlich vergessen wurde was fatale Folgen haben kann - z.B. Überschreibungen von Funktionsnamen. Abhilfe: Inkludieren mit Namensraumangabe.
$I includedatei.inc = myinc.
|
no "dim" but "dispose", missing "dim" for variable ... | Ein nicht mit "Dim" dimensionierter Speicherbereich soll offensichtlich mit einem "Dispose" freigegeben werden.
|
no "dispose" but "dim", missing "dispose" for variable ... | Ein mit "Dim" dimensionierter Speicherbereich wird offensichtlich nicht mit einem "Dispose" freigegeben.
|
no variablesuffix for ... | Beim deklarieren von Variablen wurde vergessen einer Variable ein Suffix anzuhängen. Der Variablentyp ist damit unbestimmt. Das geht aber nur mit const .
|
not legitimately ... | Eine nicht-auflösbare syntaktische Herausforderung da die Interpretation des Quelltextes an Stelle "..." mehrdeutig sein könnte. Diese Meldung erscheint wenn innerhalb einer Zeile Anweisungen nach mehr als einer Variante aufgelöst werden könnten. Die möglicherweise-störende Anweisung wird an Stelle "..." angezeigt und sollte umgeschrieben werden. Hierbei gilt es Versionskonflikte zu vermeiden.
|
open compiler argument ... | Ein Kompilerschalter hat fehlerhafte Syntax und ist zu überprüfen. Warscheinlich wurde nur das Abschließende } vergessen - oder die Zeile lässt sich nicht auflösen weil ein Rem angefügt wurde was hinter XPSE-Kompilerschaltern nicht erlaubt ist, ausgenommen das Rem wurde mit ' eingeleitet.
|
section overlap | Fehlerhafte Sektionen (Blöcke) im Quelltext - bzw. eine Sektion überlappt eine andere Sektion. Das einfachste Beispiel eines "section-overlap" ist dieses:
if 1 proc test endif endproc 'oder proc test if 1 endproc endif Siehe {$nosectioncheck }
|
string argument exceeds line | Eine Stringangabe ist nicht abgeschlossen und reicht über das Zeilenende hinaus - und es ist am Zeilenende auch nicht ersichtlich das der String sich über die nächste Zeile erstreckt weil z.B. am Zeilenende kein "" Backslash steht. Wenn sich ein String über mehere Zeilen erstrecken soll ist am Zeilenende ein "" Backslash zu verwenden.
|
the section-overlap is extended | Eine "sich durch mehere Sektionen durchschleifende" Sektionsüberschreitung die trotz gesetztem Kompilerschalter {$nosectioncheck} nicht ignoriert werden kann - da der Sinn der Operationen im Quelltext verkehrt würde und es sich um einen offensichtlichen Schreibfehler handeln muß.
|
the specified compiler was not found | Der spezifizierte Kompiler konnte nicht gefunden werden. Siehe {$compiler).
|
the specified runtime-modul was not found | Das spezifizierte Runtime-Modul (PrfRun32.Exe) konnte nicht gefunden werden. Siehe auch: {$runtime}
|
to many includepaths defined | Es wurden mehr als 5 Includepfade definiert welche zum finden der Includes ohne Pfadangaben gelten. Es ist zu beachten das die im XProfanEditor eingestellten Include-Pfade ebenfalls hinzugezählt werden. Siehe auch: {$includepath} XPSE schaut von Haus aus schon zusätzlich in ca. 15 verschiedenen Pfaden ob sich die Includes dort verstecken könnten.
|
... undeclared identifier | Eine Variable oder Prozedur/Funktion wird verwendet welche nicht deklariert ist.
|
... without namespacesign | In einer Unit wird eine Prozedur/Funktion/Variable deklariert ohne das Namensraum-Symbol ?_
|
wrong case argument | Unvollständige Syntax bei Anwendung von "Case".
|
wrong parameter argument | Bei der Angabe von Parametern an eine Prozedur oder Funktion wurde eine Unschlüssigkeit festgestellt - welche jedoch nicht die Anzahl oder die Typen der Parameter betrifft. Die Syntax ist zu überprüfen.
|