sGlobalApptype/de

From Free Pascal wiki
Revision as of 22:25, 30 May 2013 by Swen (talk | contribs)
Jump to navigationJump to search

Deutsch (de)
Zurück zu den globalen Compilerdirektiven.

Die globale Compilerdirektive $APPTYPE gibt es für die Betriebssysteme Windows, MAC OS, OS2 und AmigaOS. Bei anderen Betriebssystemen wird die Direktive ignoriert
Die globale Compilerdirektive $APPTYPE kennt folgende Parameter:

CONSOLE Unter Windows, läuft die Applikation (Anwendung) als Konsolenanwendung.

Bei Mac OS kann diese Art von Anwendung keine Kommandozeilenbefehle entgegennehmen und keinen Returncode ausgeben.
Bei Mac OS läuft Anwendung läuft in einem speziellen Terminalfenster, das als SIOW Applikation (Anwendung) läuft.

Unter OS2, läuft die Anwendung als Konsolenanwendung.

Unter LINUX läuft die Anwendung als Konsolenanwendung.

FS Gilt nur für OS2.

Mit dem Switch 'FS' wird eine Vollbild VIO Anwendung erstellt. Ihr Programm verwendet damit für den Bildschirmausgabe eine BIOS ähnliche API.
So erstellte Programme starten immer im Vollbildmodus.

GUI Mit dem Switch 'GUI' wird dem Compiler mitgeteilt, das es sich um eine grafische Anwedndung handelt.

Diese Anwendungen laufen nicht in der Konsole, sie können aber in der Konsole gestartet werden.

Unter OS2 und Mac OS werden wie unter Windows grafische Anwendungen erstellt. Unter OS2 ist dies eine Presentation Manager Anwendung.

TOOL Gilt nur für Mac OS.

Mit dem Switch 'TOOL' wird dem Compiler mitgeteilt, das es sich um eine Tool Anwendung handelt.
Die Anwendung kann Parameter übernehmen und einen Result Code zurück geben.


Besonderheiten:
Unter den Betriebsystemen Windows und Amiga ist es möglich während der Laufzeit des Programmes festzulegen, um welchen Anwendungstyp es sich handelt.
Die Konstante IsConsole (definiert in der Unit system) kann auf ihren Wahrheitswert abgefragt werden.
Ist ihr Wahrheitswert True, dann handelt es sich um eine Konsolenanwendung, ist ihr Wahrheitswert False, dann handelt es sich um eine grafische Anwendung.

Beispiel:

// Damit erstellt der Compiler eine Konsolenanwendung
{$APPTYPE CONSOLE}



--Olaf 10:55, 7 February 2013 (UTC)