![]() |
Globale selbstdefinierte Kompilerschalter
Hiho,
habe noch nichts gefunden, wie ich Kompilerschalter Unit-übergreifend definieren kann. Also nehmen wir mal an ich habe ein Projekt, welches ich in 7 verschiedenen Konfigurationen kompilieren möchte, dann will ich natürlich auch nur in der DPR den entsprechenden Schalter global setzen. Bei mir funktionierte das bisher nie. Mach ich nur was falsch oder geht es garnicht? Gibt es vielleicht einen Kniff? |
Re: Globale selbstdefinierte Kompilerschalter
Eine Möglichkeit ist, den Schalter unter Projektoptionen|Verzeichnisse/Bedingungen einzutragen. Ob es auch direkt in der dpr-Datei geht, weiß ich nicht.
|
Re: Globale selbstdefinierte Kompilerschalter
Interessant, werd ich mir gleich mal anschauen. Das könnte tatsächlich gehen. Damit könnte man dann ja wirklich bedingte Komilierung mit Unicode oder ANSI Programmen erreichen. Ich geb Rückmeldung.
Danke vorerst. |
Re: Globale selbstdefinierte Kompilerschalter
Ich verlagere diese Compilerschalter in eine *.inc Datei. In jeder Unit die diese verwenden soll muß gleich nach "Unit" dann {$I mySchalter.inc} stehen.
Wird in dieser Include ein Schalter geändert so muß das Projekt neu kompiliert werden. Gruß Hagen |
Re: Globale selbstdefinierte Kompilerschalter
Hagen, den Trick verwende ich derzeit auch, aber ich finde ihn ziemlich aufwendig :-/
|
Re: Globale selbstdefinierte Kompilerschalter
Hi Assarbad,
für unsere Haussaoftware nutze ich Batch-Dateien, da es mir sowohl mit den INCs als auch den Projekt-Optionen zu bunt wurde (4 verschiedene Szenarien und über 20 Kompilate). Entsprechend der gewählten Batch-Datei wird eine weitere aufgerufen und dieser die nötigen Parameter übergeben. Diese Batch ruft dann den Kommandozeilen-Compiler auf (dcc32). Dem kannst Du auch die Schalter übergeben ;-) ...:cat:... |
Re: Globale selbstdefinierte Kompilerschalter
Schade, also sowas wie in C scheint es ja dann doch nicht zu geben.
Mal sehen, welche der Varianten ich nehme ;) |
Re: Globale selbstdefinierte Kompilerschalter
Ja, viele Wege führen nach Rom. Das mit der Include-Datei ist nicht schlecht. Bei mir gehts so trotzdem nicht. Ich brauche zwar nur einen Schalter für kundenspezifische Module einbinden zu können. Also
Delphi-Quellcode:
Da ich das auch manchmal von unterwegs veranlassen muß, kam es schon mal vor, daß zwischen (* und $ ein Leerzeichen gelandet ist. Mehr brauche ich wohl nicht zu sagen. 8)
(*$DEFINE Kundenname*)
Deshalb habe ich mir ein Programm gebastelt, welches zeilenweise den Quelltext von 10 betroffenen Units durchgeht und entsprechend ändert. Und dann wird der Kommandozeilencompiler sowieso benutzt. Besser einmal die Arbeit, als sich Beschwerden anhören zu müssen. Frei nach dem Motto : "Lasse bessser auch keinen halb-DAU an deinen Quelltext". :lol: Ist für die meisten Zwecke aber wohl zu aufwändig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz