Gibt es, zumindestens hatte ich sowas mal im D7 gesehn (glaub ich).
Ich find's nur nicht mehr.
Das war eine Funktion/Prozedur, welche aus 3 oder 4 DWORD-Werten die Personality bestimmt.
Wurde/wird von Features geprüft, welche für höhere Personalities bestimmt war, also erst bei Nutzung dieses Features, im laufenden Programm.
z.B. man kompiliert irgend ein Datenbankfeature ein, welches erst ab der Enterprise möglich ist, aber man nutzt nur 'ne Personal/Standard.
Eventuell wurde es ja ausgebaut und man löst das nun anders.
constants:
RTLVersion
CompilerVersion
GPL (Programm wurde so kompiliert, daß die DelphiRTL/VCL mit der GPL kompatibel ist ... stammt wohl irgendwie vom Kylix)
compiler switches:
UNICODE
PUREPASCAL
MSWINDOWS
POSIX (MACOSX or LINUX)
MACOSX
LINUX
TRIAL_EDITION (k.A. ob das jetzt auch noch gesetzt wird)
{$IFDEF TRIAL_EDITION} or {$IF Declared(System._Expired)}
_Expired; // show the state of trial licence
[edit]
ups falsch verstanden.
Delphi-Quellcode:
{$DEFINE Standard}
{$IF Defined(Standard) or Defined(Professional)}
ShowMessage('Gute Wahl!');
{$ELSE}
ShowMessage('Pech gehabt...');
{$IFEND}
[...]
{$IF NOT Defined(Standard) AND NOT Defined(Professional)}
ShowMessage('Geizhals!');
{$IFEND}
Es gibt auch noch Declared, für Variablen, Konstanten, Typen und Funktionen/Prozeduren.
Delphi-Quellcode:
{$IF not Declared(MyProc)}
procedure MyProc;
begin
end;
{$IFEND}