AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei linken?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei linken?

Ein Thema von DevidEspenschied · begonnen am 21. Nov 2014 · letzter Beitrag vom 31. Dez 2014
Antwort Antwort
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei linken?

  Alt 21. Nov 2014, 19:30
Hallo,

in den Projektoptionen meiner XE-Delphi-Applikation gibt es ja die Kategorie "Versionsinformationen", die z.B. den Firmennamen, Produktnamen, die Version und das Copyright enthält. Diese Daten werden mit der Compilierung in die Exe-Datei gelinkt.

Nun habe ich das Problem, mittels eines Compilerschalters für bedingte Compilierung, diese Daten modifiziert in die Exe-Datei linken zu müssen. Das betrifft z.B. einen anderen Firmen- und Produktnamen.

Kann ich direkt aus dem Quellcode auf diese Felder zugreifen, oder muss ich über Ressourcen-Dateien gehen, wo ich dann bei einem bestimmten Compilerflag der bedingten Compilierung eine andere Ressourcendatei in der DPR-Datei einbinde?

Danke für Eure Antworten.
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 21. Nov 2014, 19:37
Könntest du nicht einfach eine (bzw. zwei) weitere Build-Konfigurationen erstellen?

Benenne Release und Release_Firma1 (analog Debug) um und lege eine (zwei) neue an: Release_Firma2 und du kannst in der IDE weiterhin alles einstellen wie man es gewohnt ist.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 21. Nov 2014, 19:42
Könntest du nicht einfach eine (bzw. zwei) weitere Build-Konfigurationen erstellen?

Benenne Release und Release_Firma1 (analog Debug) um und lege eine (zwei) neue an: Release_Firma2 und du kannst in der IDE weiterhin alles einstellen wie man es gewohnt ist.
Vererben geht auch, indem man diese Einträge als Unterpunkte von release/debug anlegt. Hängt aber stark davon ab, was man damit erreichen will.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 21. Nov 2014, 19:44
Wow, tatsächlich. Wieder was gelernt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 21. Nov 2014, 20:02
Und nur um noch die andere Variante zu nennen:

Man könnte das {$R *.res} in der DPR auskommentieren / mit einem Compilerschalter entfernen und stattdessen eine alternative Resource einbinden,
aber das ist etwas blöde, denn diese Resource enthält nicht nur die Versions-Resource, sondern auch das Manifest und das Application-Icon.
Die Versions-Resource in den Projektoptionen deaktivieren und und nun seine eigene Resource einbinden geht also besser.

Hier kann man nun beliebig die verschiedensten Resourcen einbinden.

PS: In den Projektoptionen kann man hier ebenfalls eigene Compilerschalter definieren (DEFINEs's für IFDEF).


Da {$R} /{$RESOURCE} sogar direkt vom Compiler aus einer RC die RES generieren kann, indem das jeweils durch den Resourcencompiler gejagt wird, kann man sogar aus einer extern befüllbaren Textdatei (*.RC) die Versions-Resource erstellen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#6

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 30. Dez 2014, 13:09
@himitsu: Das wäre eine aus meiner Sicht effektive Methode für das Einbinden von Ressourcen und wäre für meine Situation vielleicht noch besser, da basierend auf einem bedingten Compilerschalter unterschiedliche Versionsinformationen, Manifeste und Icons integriert werden müssen.

Wenn ich die Versionsinformationen in den Projektoptionen also deaktivierte, könnte und muss ich alles in einer Res-Datei bereitstellen.

Nun stellt sich die Frage, wie ich das alles in einer Res-Datei integrieren kann? Spontan hätte ich eine RC-Datei erstellt, welche die Ressourcen enthält und mit brc32.exe bzw. brcc32.exe (was auch immer der Unterschied beider Programme sein mag) zur Res-Datei compiliert wird. Das habe ich fürs Manifest schon erfolgreich hinter mir.

Aber wie trage ich das Icon und die Versions-Datei dort ein und vor allem, in welchem Format müssen die Versionsinformationen vorliegen? Gibt es da eine Vorlage? Danke für die Hilfe.
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 30. Dez 2014, 13:19
eine Variante für Icon+VersionsInfo siehe Hier im Forum suchenManifest-Creator
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 30. Dez 2014, 14:09
Hallo,

sind für dieses Vorhaben denn nicht die ".opset"-Dateien gedacht?
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 30. Dez 2014, 16:15
Opset? Ich denke das kann man mitterweile auch direkt im dproj-File über eine neue "Ableitung" definieren um dann dort einfach die Versionsinfos passsend zu setzen.
Und Compilerdefines sind dort auch easy zu setzen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Wie mittels bedingter Compilierung andere Versionsinformationen in Exe-Datei link

  Alt 31. Dez 2014, 01:56
Hallo,

sind für dieses Vorhaben denn nicht die ".opset"-Dateien gedacht?
Mit einer Optionstruppe ("*.optset"-Datei) kann man allerdings nicht die VersionsInfo setzen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 19:09 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