Konsolenanwendungen
Nach oben zu Anwendungen erstellen
Konsolenanwendungen sind 32-Bit-Programme, die in einem Konsolenfenster ohne grafische Oberfläche auf einer Zielplattform ausgeführt werden. Diese Anwendungen benötigen in der Regel wenig Benutzereingaben und verfügen über einen begrenzten Funktionsumfang. Obwohl in Konsolenanwendungen keine visuellen Komponenten angezeigt werden können, sind alle Typen und Funktionen der RTL (Laufzeitbibliothek) in einer Konsolenanwendung einsetzbar.
Alle Anwendungen, die den folgenden Code enthält, öffnen ein eigenes Konsolenfenster:
{$APPTYPE CONSOLE}
Inhaltsverzeichnis
So erstellen Sie eine neue Delphi-Konsolenanwendung:
- Klicken Sie auf Datei > Neu > Weitere > Delphi-Projekte.
- Doppelklicken Sie auf Konsolenanwendung.
Die IDE erstellt eine Projektdatei für diesen Quelldateityp und zeigt den Quelltext-Editor an.
So erstellen Sie eine neue C++-Konsolenanwendung:
- Klicken Sie auf Datei > Neu > Weitere > C++Builder-Projekte, und doppelklicken Sie auf Konsolenanwendung. Das Dialogfeld Neue Konsolenanwendung (C++) wird geöffnet.
- Wählen Sie den Quelltyp (C oder C++) für das Hauptmodul des Projekts aus, oder aktivieren Sie Angabe der Projektquelle, und geben Sie die bereits vorhandene Datei an, die eine
main
- oderwinmain
-Funktion enthält. - Geben Sie für C++ in der Gruppe Ziel-Framework den Anwendungstyp an, wenn Ihre Anwendung visuelle Komponenten anzeigen soll:
- Geben Sie für C++ in der Gruppe "Ziel-Framework" den Anwendungstyp an, wenn Ihre Anwendung visuelle Komponenten anzeigen soll:
- FireMonkey: Zum Erstellen einer FireMonkey-Anwendung
- VCL: Zum Erstellen einer VCL-Anwendung
- Keine: Ein Standard-Framework
- Hinweis: Obwohl in Konsolenanwendungen keine visuellen Komponenten angezeigt werden können, kann eine Konsolenanwendung visuelle Dateien einer Bibliothek (z. B. Symbole, Bitmaps, Video usw.) verarbeiten. Falls Sie beispielsweise im Experten nicht angeben, dass Sie die VCL verwenden möchten, können Sie keine VCL-Klassen in der Anwendung verwenden. Wenn Sie dies dennoch versuchen, werden Linker-Fehler produziert.
- Klicken Sie auf OK.
Die IDE erstellt eine Projektdatei für diesen Quelldateityp und zeigt den Quelltext-Editor an.
Konsolenanwendungen müssen alle Exceptions behandeln
Bei Konsolenanwendungen müssen Sie sicherstellen, dass keine Exceptions außerhalb des Gültigkeitsbereichs des Programms auftreten. Ansonsten öffnet das Betriebssystem bei Programmende ein Dialogfeld mit Exception-Informationen.
C++-Konsolenanwendungen sollten alle Exceptions behandeln, damit die Zielplattform nicht versucht, ein Dialogfeld bei der Ausführung der Konsolenanwendung anzuzeigen. Weitere Informationen finden Sie unter Exception-Behandlung in C++Builder.
Beispielsweise sollte Ihre Delphi-Anwendung eine Exception-Behandlung wie im nachfolgenden Beispiel beinhalten:
program ConsoleExceptionHandling;
{$APPTYPE CONSOLE}
uses
SysUtils;
procedure ExecuteProgram;
begin
// Program does something
raise Exception.Create('Unforeseen exception');
end;
begin
try
ExecuteProgram;
except
// Handle error condition
WriteLn('Program terminated due to an exception');
// Set ExitCode <> 0 to flag error condition (by convention)
ExitCode := 1;
end;
end.
Beenden der Konsolenanwendung
Konsolenanwendungen können folgendermaßen beendet werden:
- Durch Klicken auf die Schaltfläche X (Schließen).
- Mit der Tastenkombination
Strg+C
. - Mit der Tastenkombination
Strg+Pause
. - Durch Abmelden.
Verwenden Sie zur Behandlung der Beendigungsanforderung durch den Benutzer die Windows-API-Funktion SetConsoleCtrlHandler. Je nach gewählter Methode wird die Anwendung evtl. erfolgreich geschlossen, der Prozess nicht sauber beendet und der finalization-Abschnitt nicht ausgeführt.