![]() |
Unterschiedliche DFMs zur Design-/Laufzeit
Hallo,
ist es mit Delphi 2007 möglich, dass beim Compilieren ein anderes DFM als zur Designzeit verwendet wird? Eine Möglichkeit wäre es, das PAS mittels eines Scripts als Pre-Build Ereignis zu verändern. Aber geht das auch einfacher (Compiler Direktiven, etc.)? Danke+Gruß Flo |
Re: Unterschiedliche DFMs zur Design-/Laufzeit
wäre erstmal die Frage, des "wozu?" man sowas überhaupt braucht?
und wenn die PAS/DFM grad im Delphi geladen ist, ist es nicht so leicht möglich da über 'nen "billiges" Pre-Build-Ereignis da was ändern zu wollen. Da müßte man wohl schon schwerere Geschütze auffahren, wie IDE-Experten und Co. |
Re: Unterschiedliche DFMs zur Design-/Laufzeit
Ich will in D2007 ImageListen mit ARGB32 Bitmaps füttern.
Klappt soweit ganz gut - ich habe alle Bitmaps als RGB24 in der IL und lasse beim Pre-Build die Bitmap = {..} Blöcke aus dem DFM rausschneiden und speichere es unter {UnitName}Build.dfm. Dann setze ich im FormCreate das IL Format auf 32 und lade die Icons aus einer Resource mittels ReadComponentRes. Klappt soweit perfekt, nur dass ich mit {$R *.dfm} das Problem habe, dass das normale DFM natürlich auch mit reincompiliert wird. Mit {$R {UnitName}Build.dfm} klappts zwar, aber die IDE hat beim nächsten Laden natürlich Probleme... Mein Ansatz wäre nun gewesen, als Pre-Build das {$R *.dfm} durch {$R {UnitName}Build.dfm} zu ersetzen und das beim Post-Build wieder rückgängig zu machen - eine elegantere Lösung wäre mir aber lieber... Edit: Hab grad festgestellt, dass mein Ansatz wohl so nicht funktioniert, weil Delphi dann meckert :( |
Re: Unterschiedliche DFMs zur Design-/Laufzeit
Geht's vielleicht so?
Delphi-Quellcode:
{$IFDEF RELEASE}
{$R <Unitname>Build.dfm} {$ELSE} {$R *.dfm} {$ENDIF} |
Re: Unterschiedliche DFMs zur Design-/Laufzeit
@Flocke:
THX! Da hätte ich auch selbst draufkommen müssen :oops: Mit einem {$DEFINE RELEASE} klappt das wies soll. Wie kann ich das auch ohne ein DEFINE lösen? Edit: habs mittlerweile rausgefunden ;) 1000 Dank nochmal :thumb: Edit2: Leider hab ich beim erneuten öffnen festgestellt, dass das Flag wohl auch schon zur Designzeit greift :( Bin also gerne für weitere Vorschläge offen! |
Re: Unterschiedliche DFMs zur Design-/Laufzeit
Zitat:
Du musst sicherstellen, dass du (vor dem Öffnen des Formulars) eine Build-Konfiguration als aktiv eingestellt hast, in der das Symbol RELEASE nicht definiert ist (also z.B. die Debug-Konfiguration). Das Symbol RELEASE habe ich vorgeschlagen, weil es ab D2007 in der Release-Konfiguration voreingestellt ist - du kannst natürlich irgendein anderes nehmen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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 by Thomas Breitkreuz