Einzelnen Beitrag anzeigen

micha888

Registriert seit: 20. Jun 2006
5 Beiträge
 
#1

Bedingte Kompilierung: Unveränderte Unit immer neu kompilier

  Alt 17. Jun 2008, 13:47
Folgendes Problem:

Ich habe zwei Projekte, die eine gemeinsame Unit benutzen. Abhängig vom Projekt sollen innerhalb dieser Unit Prozeduren unterschiedliche Code-Abschnitte ausführen.
Ich habe dies folgendermaßen gelöst:

1. Jedem Projekt wird im Dialog Projekt.Optionen.Verzeichnise/Bedingungen eine Definition hinzugefügt (P1 für Projekt1 und P2 für Projekt2)

2. In der gemeinsamen Unit ("share.pas") wird eine Include-Datei angegeben, die wiederum abhängig von den Schaltern P1 und P2 neue Schalter Programm1 und Programm2 definiert
(
{$ifdef P1}
{$define Programm1}
{$endif P1}

{$ifdef P2}
{$define Programm2}
{$endif P2}
)

3. Über Kompiler-Direktiven werden die Code-Abschnitte selektiert.

So weit so gut.

Problem: Wenn man das Projekt wechselt und neu kompiliert ohne dass sich in der share.pas eine Änderung ergibt, wird diese auch nicht neu kompiliert, was natürlich dazu führt, dass falsche Schalter definiert werden. Ich muss also jedes Mal die share.dcu löschen und dann neu kompilieren, was etwas umständlich ist.
Kann man dafür sorgen, dass eine Unit immer kompiliert wird auch wenn keine direkten Änderungen stattgefunden haben?
Oder gibt es eine andere Lösung für dieses Problem?

Vielen Dank für eure Mithilfe

Michael
Angehängte Dateien
Dateityp: zip bedingte_kompilierung_886.zip (13,0 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat