AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Was ist <Delphi.Personality> in der Dproj Datei
Thema durchsuchen
Ansicht
Themen-Optionen

Was ist <Delphi.Personality> in der Dproj Datei

Ein Thema von QuickAndDirty · begonnen am 20. Jun 2024 · letzter Beitrag vom 25. Jun 2024
Antwort Antwort
Seite 1 von 2  1 2      
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#1

Was ist <Delphi.Personality> in der Dproj Datei

  Alt 20. Jun 2024, 16:58
Hallo
in manchen *.dproj Dateien

gibt es einen <Delphi.Personality> tree.
Wie zum beispiel in dieser hier(nicht meine Datei oder Website sondern ein Internet Fund...)
https://www.formatika.de/print.jsp?c....7/Autor.dproj

Wozu ist der da?

Mich interessiert vor allem alles Versions bezogene.
Also innerhalb dieses Trees
<VersionInfo>
und
<VersionInfoKeys Name="FileVersion">0.7.5.1</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">0.75</VersionInfoKeys>


Kann ich und sollte ich diese Einträge ändern damit sie auf dem selben stand sind wie die Anderen Versionsnummern Einträge des Projekts?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 20. Jun 2024, 17:01
Personality = verschiedene "Module" in der IDE
z.B. Delphi (was deinem Beispiel entspricht) oder C++Builder

entspricht auch dem StartParameter -p ala bds -pDelphi ,
welches nur die Delphi-Personality lädt, aber nicht den C++Builder (falls installiert)
siehe cmd: bds -?


Betrifft dich, wenn du das RAD-Studio benutzt, wo Delphi und C++Builder enthalten sind
oder bei Fremdkomponenten (ich glaub z.B. TMSWebCore)




Im BeforeCompile wird diese VersionsInfo aus DPROJ in die VersionRessource in der Projekt-RES synchronisiert.

Wir haben einfach die Versions-Ressource in den Projektionen deaktiviert (entfernt),
erstellen unsere eigene Ressource als *.RC, lassen sie zu einer *.RES kompilieren
und binden sie dann selber in unsere DPK/DPR ein ({$R bzw. {$RESOURCE )

Es gibt hier und da auch Projekte, um z.B. via Parameter an eine Consolen-Anwendung die Versionsinfos in der EXE/DLL/BPL (post-compile) oder RES/DPROJ (pre-compile) ändern zu können.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (20. Jun 2024 um 17:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 20. Jun 2024, 17:45
Im BeforeCompile wird diese VersionsInfo aus DPROJ in die VersionRessource in der Projekt-RES synchronisiert.
Ich glaube nicht, dass das so stimmt. Die Werte dort haben rein gar nichts mit denen im Versionsinfo-Dialog oder im Compilat zu tun. Wenn man die beiden Zweige <VersionInfo> und <VersionInfoKey> löscht ändert sich auch nichts. Bei einem neuen Projekt tauchen sie (zumindest in D12) gar nicht erst auf. Vermutlich sind das Überbleibsel aus einer älteren Delphi-Version.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 20. Jun 2024, 18:30
Direkt BeforeCompile ist es natürlich ist,
aber es kommt jedenfalls in den Actions des MSBuild-Scripts, welche vor dem Compilieren (DCC) ausgeführt werden.

Ja, wenn du alles in der DPROJ löschst, dann wird nicht automatosch die Ressource gelöscht ... das passiert nur, wenn
<VerInfo_IncludeVerInfo>false</VerInfo_IncludeVerInfo>

Hmmm, kann auch sein, dass es was für den Editor ist.
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
Das Letzte der aktiven Node-Groups davon düfte wohl verwendet werden.

Blöd ist aber auch, dass die Synchronisation auch andersrum geht.
Findet die IDE beim Laden die Ressource in der RES, dann wird in der DPROJ der Knoten eingefügt und auf True gestellt. (nur im Editor, aber nicht beim Kompilieren im MSBuild ... dort erst, nach dem nächsten Speichern in der IDE)
Wir hatten ein selten bearbeitet Modul, wo sich ab un an die Version vom Delphi wieder aktivierte und der Linker dann später wegen der doppelten Ressource rumnörgelte, weil sich durch einen Mergefehler eine alte RES wieder einschlich.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (20. Jun 2024 um 18:39 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#5

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 21. Jun 2024, 11:46
Die VersionsInfo in den <PropertyGroups> im <VerInfo_Keys> Tag mit der CVS setzte ich bereits (FileVersion ProductVersion)

Was mich halt Beschäftigt sind die Versions einträge in dem <Delphi.Personality> tree. Vor allem da alle meine neuen Projekte den Tree gar nicht haben.

Ist es ein problem wenn ich die Synchron setze? Oder ist das nicht eine Projekt version sonder die Version von Delphi?
Ist das wenn die VersionsInfo für C++ und Delphi abweicht gedacht ? wobei wir wirklich nur Delphi entwickeln.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (21. Jun 2024 um 11:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 21. Jun 2024, 12:07
Vielleicht sind das einfach nur alte Einträge alter Delphi-Versionen, welche es beim Migrieren der Projektdatei mitgenommen hat?

Früher gab es mal nur eine VersionInfo in der DPROJ (eventuell dieses im <Delphi.Personality>), jetzt kann man für unterschiedliche Configs/Platformen Unterschiedliche haben (ein bzw. mehrere <VerInfo_Keys> in unterschiedlichen Configs)

Hier am Besten drauf achten, dass man beim Ändern in der IDE immer zuerst auf Alle-Alle umstellt, da es sonst passieren kann, das die sich "gefühlt" nahezu unkontrollierbar gegenseitig überschreiben und nicht das in der EXE landet, was dort rein soll.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 21. Jun 2024, 12:20
Was mich halt Beschäftigt sind die Versions einträge in dem <Delphi.Personality> tree. Vor allem da alle meine neuen Projekte den Tree gar nicht haben.
Du kannst die bedenkenlos löschen. Die stammen vermutlich noch aus Delphi 2007 oder so.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#8

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 21. Jun 2024, 13:20
Genau da sind die drinn!
Wir portieren gerade alles von D2007 auf Delphi XE n.m

Ok also sind das einfach legacy Einträge in der DProj Datei?

Na toll , dann also am besten ignorieren...

Vielen Dank!
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 21. Jun 2024, 13:24
Wir von D7 zu XE (OK, dort wurden die DPROJ sowieso neu generiert),
aber auch von XE zu D10 D11 ...

Am Besten bei solchen großen Sprüngen (oder generell immer) die DPROJ neu generieren (und leider komplett neu eintichten) und möglichst nicht migrieren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#10

AW: Was ist <Delphi.Personality> in der Dproj Datei

  Alt 21. Jun 2024, 13:47
Es hat ziemlich gut geklapt, aber wir wollen jetzt das alle Exen die zusammenarbeiten auch immer dieselbe versionsnummer haben...dafür dieses tool.

btw.
Muss ich XPathQueries lange aus Internetquellen lernen oder kann man das recht schnell verstehen?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:20 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