AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DPROJ und DPR getrennt

Ein Thema von himitsu · begonnen am 23. Okt 2024 · letzter Beitrag vom 24. Okt 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

DPROJ und DPR getrennt

  Alt 23. Okt 2024, 13:46
Hat das jemand schonmal ausprobiert?

Wenn man in die DPROJ reinschaut, dann sieht es ja so aus, als wenn die DPR anders heißen könnte und auch in einem anderen Verzeichnis liegen dürfte.

Also zumindest im MSBuild könnte es somit eventuell klappen,
aber ob die IDE das auch so sieht ..........



Im Prinzip geht es um Quellcodes von Fremdkomponenten, auch ohne DPROJ. (z.B. DevExpress)
Wo es manchmal nett wäre, wenn man eine eigene Projektgruppe mit eigenen DPROJ hätte, welche aber nicht im Verzeichnis, bzw. in den Verzeichnissen, des eigentlichen SourceCodes liegen.
$2B or not $2B

Geändert von himitsu (23. Okt 2024 um 13:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.623 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: DPROJ und DPR getrennt

  Alt 23. Okt 2024, 19:00
Hat das jemand schonmal ausprobiert?

Wenn man in die DPROJ reinschaut, dann sieht es ja so aus, als wenn die DPR anders heißen könnte und auch in einem anderen Verzeichnis liegen dürfte.

Also zumindest im MSBuild könnte es somit eventuell klappen,
aber ob die IDE das auch so sieht ..........

Im Prinzip geht es um Quellcodes von Fremdkomponenten, auch ohne DPROJ. (z.B. DevExpress)
Wo es manchmal nett wäre, wenn man eine eigene Projektgruppe mit eigenen DPROJ hätte, welche aber nicht im Verzeichnis, bzw. in den Verzeichnissen, des eigentlichen SourceCodes liegen.
Ich haben häufig mehrere .dproj-Dateien, die auf dieselbe .dpr-Datei verweisen. Bei mir geht es aber darum, dieselbe .dpr mit verschiedenen Delphi-Versionen zu verwenden. Das funktioniert wunderbar auch mit der IDE. Allerdings liegt die .dpr-Datei bei mir im gleichen Verzeichnis.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DPROJ und DPR getrennt

  Alt 23. Okt 2024, 19:06
Jupp, würde ich mir aktuell auch wünschen, auf Arbeit ... aber hatte ich mich noch nicht getraut, abgesehn davon, dass es um XE und 10 11 ging (hatte erstmal nur alle Projektdateien in versionsabhängige Unterverzeichnisse verschoben ... und darüber dann die zugehörigen Units usw.)
Aktuell sind alle DPR eine Kopie zur jeweiligen DPROJ und da wird dann gern mal in einer DPR/DPK was vergessen.

Und z.B. bei FremdKomponenten ohne oder mit unpassender DPROJ wäre es nett, wenn dann die eigenen Projektdateien nicht im Verzeichnis des FremdCodes liegen, damit erstmal alles schön getrennt ist und beim Upgrade nicht so schnell was kaputt geht.

Hab's noch nie ausprobiert, aber, wie gesagt, in der DPROJ sind ja alles mit Verzeichnissen verlinkt, so dass es so aussah, als wenn man die DPR/DPK wo anders liegen haben könnte.
Nur da Delphi die DPROJ ja selbst teilweise sehr pervers abnormal behandelt und Vieles einfach ignoriert, wäre ich mir dort nicht sicher, dass sowas auch wirklich "problemlos" funktioniert.


Nja, bei uns heißen die Projekte in allen Versionen gleich, nur das Unterverzeichnis hat die IDE-Version im Namen.
Postfixe für die Kompilate kommen aus der Config ... neuerdings auch direkt als $(AUTO), für zukünftige Delphis. (leider nur bei den Packages, aber nicht für DLL und EXE)
$2B or not $2B

Geändert von himitsu (23. Okt 2024 um 19:10 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#4

AW: DPROJ und DPR getrennt

  Alt 24. Okt 2024, 12:04
Ich haben häufig mehrere .dproj-Dateien, die auf dieselbe .dpr-Datei verweisen. Bei mir geht es aber darum, dieselbe .dpr mit verschiedenen Delphi-Versionen zu verwenden. Das funktioniert wunderbar auch mit der IDE. Allerdings liegt die .dpr-Datei bei mir im gleichen Verzeichnis.
Das ist eine gute Nachricht.

Allerdings lege ich immer mehrere Unterverzeichnisse für die dpr und dproj an, weil es eben mit den beiden Files nicht getan ist.
Ich separiere alle Versionen und sonstigen Varianten hart in eigene Verzeichnisse, und das funktioniert super.

Delphi-Quellcode:
Project/Packages/Delphi12
Project/Packages/Delphi12.1
Project/Packages/Delphi12.1_DemoVariante
Project/Packages/Delphi12.2
Project/Src // Gemeinsame Source für alle Varianten
In den Verzeichnissen sind dann ALLE relevanten Files, die spezifisch für die Variante notwendig sind.
als da wären
Delphi-Quellcode:
.dpr
.dproj
AndroidManifest.template.xml
Entitlement.TemplateiOS.xml
info.plist.TemplateiOS.xml
...
Mögliche System-Fixes für System-Module
...
Delphi-Quellcode:
FMX.ListView.pas
FMX.Maps.pas
FMX.MediaLibrary.Android.pas // Erweitert um define
...
Es könnten aber auch viele andere, spezifische Files hier pro Projekt entkoppelt werden (.txt, .rc, .json, .xml, ...).

Die OS-spezifischen Fixes dann mit {$IF DEFINED( ANDROID ) } erweitert, so dass dies nur unter Android relevant wird, ansonsten nur eine leere Unit ist.
Das hat den Vorteil, dass die .dproj immer alle System-Fixes enthalten kann, für alle OS, und dass nicht verschiedene Versionen der .dproj benötigt und gepflegt werden müssen.
Ok, dabei werden dann leere Units compiliert, aber das kann ich verschmerzen, die Vorteile sind viel größer.

Mit dieser Struktur kann ich sehr sauber alle Varianten trennen und möglichst separate komplette Kontrolle über die Settings zu haben.
  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 20:50 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