AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Unterschiedliche DFMs zur Design-/Laufzeit
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschiedliche DFMs zur Design-/Laufzeit

Ein Thema von flone · begonnen am 25. Apr 2009 · letzter Beitrag vom 26. Apr 2009
Antwort Antwort
flone

Registriert seit: 6. Feb 2008
3 Beiträge
 
#1

Unterschiedliche DFMs zur Design-/Laufzeit

  Alt 25. Apr 2009, 20:00
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#2

Re: Unterschiedliche DFMs zur Design-/Laufzeit

  Alt 25. Apr 2009, 20:20
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
flone

Registriert seit: 6. Feb 2008
3 Beiträge
 
#3

Re: Unterschiedliche DFMs zur Design-/Laufzeit

  Alt 25. Apr 2009, 20:29
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
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Unterschiedliche DFMs zur Design-/Laufzeit

  Alt 25. Apr 2009, 20:50
Geht's vielleicht so?
Delphi-Quellcode:
{$IFDEF RELEASE}
{$R <Unitname>Build.dfm}
{$ELSE}
{$R *.dfm}
{$ENDIF}
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
flone

Registriert seit: 6. Feb 2008
3 Beiträge
 
#5

Re: Unterschiedliche DFMs zur Design-/Laufzeit

  Alt 25. Apr 2009, 21:40
@Flocke:
THX! Da hätte ich auch selbst draufkommen müssen
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

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!
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Unterschiedliche DFMs zur Design-/Laufzeit

  Alt 26. Apr 2009, 10:05
Zitat von flone:
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!
Da du von Build-Events benutzt, hast du wohl Delphi 2007 oder höher.

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.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz