![]() |
In IFDEF abbrüfen ob für Exe oder DLL kompiliert
Gibt es eine Möglichkeit in einem $IFDEF abzuprüfen ob für eine Exe oder eine DLL kompiliert wird?
Hintergrund: Wir haben ein Pluginschnittstelle und bei manchen Units die in Exe und DLL verwendet werden müssen Uses-Anweisungen angepaßt werden. |
Re: In IFDEF abbrüfen ob für Exe oder DLL kompiliert
Warum nicht in der Exe ein {$DEFINE COMPILING_FOR_EXE} und dann halt die Weiche: "uses {$IF Defined(COMPILING_FOR_EXE)} AB {$ELSE} CD {$IFEND};"?
|
Re: In IFDEF abbrüfen ob für Exe oder DLL kompiliert
Zitat:
|
Re: In IFDEF abbrüfen ob für Exe oder DLL kompiliert
Hallo,
da Du um ein komplettes Build wahrscheinlich sowieso nicht herumkommen wirst (Delphi erstellt eine DCU-Datei ja nur neu, wenn sie älter als die PAS-Datei ist; dass sich ein -- wenn auch vordefiniertes -- Compiler-Symbol geändert haben könnte, ist Delphi egal), kannst Du z.B. ein neues Symbol BUILDING_DLL in den Projektoptionen aufnehmen. Abhilfe könnte höchstens eine Include-Datei mit {$DEFINE ...} schaffen, die Du in allen relevanten Units einbindest und vor dem Compilieren auf die aktuelle Uhrzeit setzt -- falls Delphi diese Abhängigkeit erkennt, was ich im Moment aber nicht weiß. Ein Verschachteln der {$IFDEF ...}s wirst Du aber m.E. nicht vermeiden können. jkr |
Re: In IFDEF abbrüfen ob für Exe oder DLL kompiliert
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 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