![]() |
Packages kompilieren und Compilerversion automatisch in den Dateinamen
Wie, bzw. geht es überhaupt?
Ein Package XYZ soll beim Compilieren die CompilerVersion im Dateinamen haben, in den Requires abhängiger Packages soll dann ebenfalls nur der Name XYZ stehen, aber jeweils die CompilerVersion verwendet werden (das geht ja ... ich binde "vcl" ein und im XE wird "vcl150" genommen) und ebenso für EXE und DLLs, die Version in den Dateinamen, aber ich fürchte dort muß beim DLL-Import der Name via IFDEFs zusammengebaut werden. :cry: Bzw. geht das auch andersrum? Also ich hab eine XYZ_XE.dpk/.dpr und .dproj und dann nochmal die XYZ.10.3.dpk und .dproj und die werden immer als XYZ.bpl compiliert. Das wäre mir lieber. (und notfalls kann ja das kranke WinSxS die Versionen verwalten :stupid:) und im Quellcode der DPR und PAS paar {$IFs für die versionsabhängigen Codes. Im Grunde brauch ich ja auch nur verschiedene DPROJ für die verschiedenen Delphis, wenn Borland/Emba das Format mal wieder komplett umgekramt hat Für viele Delphis sind die DPROJ praktisch kompatibel und man bräuchte da eigentlich nur Eine für die Alle. |
AW: Packages kompilieren und Compilerversion automatisch in den Dateinamen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Code:
unter src liegen die eigentlichen Sourcen, die in allen Packages eingebunden werden. Unter Packages->DelphiXxxxx die Packages und meist noch eine Project-Group für die jeweilige Delphi-Version.
mycomponent
--> src --> packages --> Delphi2007 --> DelphiXE5 --> DelphiXx10.3 Ein Beispiel dafür findest Du in ![]() Damit können die Package-Projekte immer denselben Namen haben. Der Suffix wird mittels der Einstellungen unter Project->Options->Description gesetzt. Und der nette Button, den ich mir mittels GExperts dort hineinbeame vereinfacht es, den Suffix passend zu setzen (siehe Screenshot im Anhang). Für DLLs kann man ein Suffix ebenfalls konfigurieren, allerdings funktionierte das nicht mit allen Delphi-Versionen. Da gibt es das Feld unter Project->Options->Application. Für Exectuables geht das nicht. |
AW: Packages kompilieren und Compilerversion automatisch in den Dateinamen
Ich hab in mehreren meiner Projekte, die genau eine dpr und dproj haben, das hier in einer inc Datei, die in der dpr eingebunden ist:
Delphi-Quellcode:
{$IF CompilerVersion = 22}{$LIBSUFFIX '150'}
{$ELSEIF CompilerVersion = 23}{$LIBSUFFIX '160'} {$ELSEIF CompilerVersion = 24}{$LIBSUFFIX '170'} {$ELSEIF CompilerVersion = 25}{$LIBSUFFIX '180'} {$ELSEIF CompilerVersion = 26}{$LIBSUFFIX '190'} {$ELSEIF CompilerVersion = 27}{$LIBSUFFIX '200'} {$ELSEIF CompilerVersion = 28}{$LIBSUFFIX '210'} {$ELSEIF CompilerVersion = 29}{$LIBSUFFIX '220'} {$ELSEIF CompilerVersion = 30}{$LIBSUFFIX '230'} {$ELSEIF CompilerVersion = 31}{$LIBSUFFIX '240'} {$ELSEIF CompilerVersion = 32}{$LIBSUFFIX '250'} {$ELSEIF CompilerVersion = 33}{$LIBSUFFIX '260'} {$ELSE}{$MESSAGE FATAL 'Version not supported'}{$IFEND} |
AW: Packages kompilieren und Compilerversion automatisch in den Dateinamen
Ach stimmt, das {$LIBSUFFIX}, aber eine Automatik wie beim Importieren gibt es da nicht?
IDE-Name, IDE-Version, CompilerVersion, RtlVersion, VclVersion, ... :freak: Mal ausprobieren was passiert wenn ich da den Namen als $LIBSUFFIX verwende, ob der Import über den Basisnamen dann auch noch geht. :stupid: Hab vorhin gemerkt, dass man eine abc123.dproj auch auf eine gemeinsame abc.dpk gehen lassen kann (weiß nur noch nicht was passiert, wenn man die Projekt-Datei dann in der IDE speichert oder umbenennt) Die Arbeit mit mehreren Delphi, bzw. bei Komponenten für Andere mit unterschiedlichen Delphis, da wäre es jedenfalls einfacher, wenn nur möglichst die .DPROJ für verschiedene IDEs da sein müsste und alle anderen Dateien gemeinsam genutzt werden können. |
AW: Packages kompilieren und Compilerversion automatisch in den Dateinamen
Das LIBSUFFIX wird nur an den Namen der BPL angehängt. Die requires-Einträge beziehen sich aber auf die DCP.
Übrigens sorgt der ![]() Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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