Fehlermeldungen in Delphi

Noch ein paar Zusatzinfos zu Compilermeldungen

Compilermeldungen selbst erzeugen

Ja, sowas geht. Wer schon immer mal Compilermeldungen haben wollte, aber nie welche hatte(;-)) so kann man sie auch selbst erzeugen:

Spezielle Meldungen

Die Direktive platform; hinter einer Methode oder Unit erzeugt folgende Warnung:

[Pascal Warnung] Unit1.pas(42): W1005 Unit/Symbol ‚xy‘ ist plattformspezifisch

Beispiel:

1
2
3
4
unit Unit1 platform;
// oder
private
  procedure Test; platform;

Ebenso ist es mit den Direktiven library und deprecated. Diese erzeugen die Warnungen:

[Pascal Warnung] Unit1.pas(42): W1000 Symbol ‚Test‘ ist veraltet

bzw.

[Pascal Warnung] Unit1.pas(42): W1001 Symbol ‚Test‘ ist bibliotheksspezifisch

Benutzerdefinierte Meldungen

Die Direktive $message kann frei definierbare Fehlermeldungen erzeugen.

ohne Meldungstyp wird ein Hinweis angezeigt:

1
  {$message 'Du hast ja deine Hausaufgaben immer noch nicht gemacht!'}

Hinweis:

1
  {$message HINT 'Die Welt geht unter, aber mach dir keine Sorgen, du kriegst das eh nicht mit...'}

Warnung:

1
  {$message WARN 'Gleich gibts Bombenalarm. Du solltest dich also schon mal drauf vorbereiten, schreiend rauszurennen...'}

Fehler:

1
  {$message ERROR 'Houston, wir haben ein Problem.'}

Fataler Fehler:

1
 {$message FATAL 'Du wirst jetzt assimiliert. Widerstand ist zwecklos...'}

Was sonst noch passieren kann

Keine eigentliche Compilermeldung, kommt aber trotzdem von Zeit zu Zeit:

[Pascal Fataler Fehler] F2039 Ausgabedatei ‚C:\…\Project1.exe‘ kann nicht erstellt werden

Einfachste Erklärung dafür: Die Datei ist außerhalb von Delphi geöffnet. Delphi hat also keinen Schreibzugriff und kann sie deshalb nicht neu erstellen.

Linker Errors

Der Linker ist der Teil von Delphi, der die kompilierten Units(dcu = DelphiCompiledUnit) zu einer exe-Datei zusammenbaut. Wenn nun der Linker einen Fehler verursacht bzw. bemerkt, gibt der das natürlich auch irgendwie zu verstehen. Und zwar genau so, wie der Compiler in solchen schönen Meldungen. Im Normalfall hat man mit solchen Meldungen wenig zu tun, da sie ausgesprochen selten auftreten(außer man hat das Glück mit dem C++Builder arbeiten zu müssen, da passiert sowas leider recht häufig. Insbesondere, wenn man sich mit den Header-Dateien vertan hat… :?).
Linkerfehler haben meist nur eine Nummer nach dem Schema: L Ein Druck auf [F1] offenbart dann einen mehr oder weniger brauchbaren Hilfetext. Das erste, was man versuchen sollte, ist das Projekt neu zu erstellen(im Projekt-Menü oder per Umschalt+F9 zu erreichen). Damit werden alle dcu-Dateien neu erstellt(nicht nur die geänderten), was meist die Linker Errors behebt…

Kapitel: | Zurück | 1 | 2 | 3 | 4 | 5 | 6 | Weiter |

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.