Einzelnen Beitrag anzeigen

Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#1

Testversion mit Bedingter Compilierung?

  Alt 4. Mär 2008, 16:47
Hallo!

Ich will von einem Programm eine Testversion mit eingeschränktem Funktionsumfang erstellten. Die eingeschränkten funktionen sollen dabei in der Testversion nicht enthalten sein, damit diese nicht per Crack, etc. freigeschaltet werden können:

Delphi-Quellcode:
{$DEFINE vollversion}

...

{$IFDEF vollversion}
  TuWasTolles();
{$ELSEIF}
  ShowMessage('Nur in Vollversion');
{ENDIF}
Da das Programm aus etlichen Dateien besteht habe ich "Vollversion Ja/Nein" ({$DEFINE vollversion}) in einer zentralen Datei definiert und binde diese in alle Dateien des Projektes ein:

{$I info.inc} Soweit funktioniert das prima, ABER:
Ich verwende in dem Programm auch eigene Funktionssammlungen, Classen, etc. die ich auch für andere Projekte benutze. Diese Programmteile sollen ebenfalls je nach Voll-/Testversion anders arbeiten. Dabei will ich in jedem Projekt angeben können, ob dieses als Voll- oder als Testversion erstellt werden soll.

Also:
Delphi-Quellcode:
unit AllgemeineFunktionen.pas
...
procedure MachWasTolles();
begin
  {$IFDEF vollversion}
    TuWasTolles();
  {$ELSEIF}
    MachNichts();
  {ENDIF}  
end;
Delphi-Quellcode:
unit ProgrammA.pas
{$DEFINE vollversion}
...
uses AllgemeineFunktionen;
...
procedure Arbeite();
begin
  MachWasTolles();
end;
Delphi-Quellcode:
unit ProgrammB.pas
{$DEFINE testversion}
...
uses AllgemeineFunktionen;
...
procedure Arbeite();
begin
  MachWasTolles();
end;
Wie schaffe ich es hier, dass in ProgrammA MachWasTolles() mit alles Funktionen compiliert wird und in ProgrammB ohne die Vollversions-Funktionen?

Habt ihr hierfür eine Idee?

Besten Dank
Ares
  Mit Zitat antworten Zitat