Mahlzeit,
Also, ich habe hier einige Units, welche von mehreren Projekten verwendet werden, wo über bedingte Symbole (unter Projektoptionen > Verzeichnisse/Bedingungen) Projektabhängig einiges verändert werden kann.
Allerdings gibt es da ein Problem, denn wenn man bedingte Symbole in einer Datei angibt (mit {$DEFINE ...} oder {$UNDEF... }) und dort verändert, dann werden die davon abhängigen Dateien automatisch neu kompiliert.
Aber wenn ich die selben Symbole in den Projektoptionen angebe und dort verändere, dann passiert da nichts automatisch.
Wenn also die Bedingungen verändert, oder ein anders Projekt, mit anderen Bedingungen kompiliert wird, dann gibt es da einige Propleme.
Im Grunde hilft da bis jetzt nur der Befehl "Alle Projekte erzeugen", womit ja bekanntlicht alles neu kompiliert wird.
Aber gibt es da nicht vieleicht noch eine bessere Methode, damit die entsprechenden Units automatisch neu kommpiliert werden?
Notfalls würde es auch gehen, wenn diese Units immer neu kompiliert werden, auch wenn nichts verändert wurde -.-''
Oder kennt jemand noch einen anderen Weg, wie man Projektabhängig etwas an diese Units übergeben kann.
Denn folgendes geht ja leider nicht:
Delphi-Quellcode:
Unit Unit1;
Interface
{$DEFINE Symbol}
Uses Unit2;
Implementation
End;
Delphi-Quellcode:
Unit Unit2;
Interface
Implementation
{$IFDEF Symbol} ...
{$ENDIF}
End;
Und diese Symbole in einer extra Datei zu definieren und per Include, oder über Uses einzubinden will auch nicht so recht funktionieren, da dann ja für jedes Projekt eine anderen Datei eingebunden werden müsste?
Ich hoffe jemandem fällte da etwas hilfreiches ein *liebschau*.
Mich stört dieses zwar nicht all zu sehr, aber wenn ich diese Units weitergebe, dann müßte sich der/diejenige auch noch damit rumquälen, was ich nicht gern sehen würde.
Und manchmal vergesser ich auch diese kleinigkeim mal, wodurch ich dann erstmal einen kleinen Schrecken bekomme.
Es bestände zwar noch die Möglichkeit von den Compiler-Direktiven Abstand zu nehmen, und einiges per Pascal, also über zusätliche Variablen und Prozedur-/Funktionsaufrufe zu lösen, aber dann würde der entstehende Code unnötig anwachsen und in einigen Fällen sogar stark abgebremst werden
Also für die Performance wäre dieses nicht sonderlich schön.