AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Hilfe zu Projekteinstellungen - Targets und optsets
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe zu Projekteinstellungen - Targets und optsets

Ein Thema von freimatz · begonnen am 13. Sep 2022 · letzter Beitrag vom 14. Sep 2022
Antwort Antwort
freimatz

Registriert seit: 20. Mai 2010
1.445 Beiträge
 
Delphi 11 Alexandria
 
#1

Hilfe zu Projekteinstellungen - Targets und optsets

  Alt 13. Sep 2022, 17:39
Hallo,
gibt es irgendwo eine Hilfe oder Einführung zu den Projekteinstellungen die insbesondere die Konzepte dahinter erklärt wie die Targets und die optsets. Bei Druck auf F1 fehlt mir das gerade. Und die dprojs sind auch nicht gerade übersichtlich.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Hilfe zu Projekteinstellungen - Targets und optsets

  Alt 13. Sep 2022, 18:04
optsets hab ich bei mir leider wieder auf "ignore" gesetzt, weil nicht wirklich benutzbar. (scheinen Viele so zu sehen, oder warum verwendet sonst kaum jemand das )

Für den Anfang sah es nett aus, aber ist leider nicht wirklich praktisch nutzbar, sobald man Multiplatform entwickeln will, da es ausschließlich an BuildConfigs (Basis/Debug/Release/...) hängt, es dann aber Überschneidungen mit Unterschieden an den Tasgets (Win32/Win64/Android/iOS/...) gibt.

z.B. Konfigurationen nur für Windows (32 und/oder 64 Bit) lassen sich nicht auslagern.
Und die größten Unterschiede hab ich nunmal bei den Targets, aber weniger in den Configs.

Das Konzept gibt es schon seit Jahrzehnten. Damals gab es bloß die BuildConfigs (noch keine Targets) und leider wurde es niemals weiterentwickelt.



Suchpfade/Ausgabepfade und Dergleichen wöllte ich gern für knapp 85 Projekte "einheitlich" in ein/mehrere Optsets auslagern, aber neeeeeeee.
Wäre schön gewesen, wenn man so dann auch schnell in neuen Delphis hätte das wieder neu importieren können (DPROJ löschen und neu erstellen)

Außerdem fand ich es irgendwie sinnlos unübersichtlich, dass die dann zeilenweise im Projektmanager sichtbar sind.
Und sowieso bräuchte man die Opsets eher als Matrix (Config * Target) mit Mehrfachzuweisung, als nur an der BuildConfig.




Wenn du z.B. NUR mit Win32 arbeitest und da für mehrere Projekte ein paar Configs zentral verwaltet haben möchstest, dann ist das schon halbwegs zu gebrauchen.

Einfach in der Projektverwaltung
* gewünschte Build-Config markieren
* Kontextmenü "Neue Optionsgruppe" oder "Optionsgruppe anwenden"
* und dann (bei neu) die Gruppe markieren und "Bearbeiten" wählen

Natürlich kann man nicht mehrere Projekte markieren und sagen "für diese Config Config*Target ein Optset hinzufügen"




Die Optsets kannst du aber auch nur zum Speichern/Exportieren/Importeren nutzen.

* oben ist das Optest nur verlinkt ... änderst du das Optset, hat jedes Projekt sofort die neuen Einstellungen

* Du kannst im "Bearbeiten" einer BuildConfig aber auch "Speichern" und "Übernehmen" (Importieren) wählen,
dann wird das Optset quasi kopiert und die Optionen direkt überschrieben.

* Beim Speichern kannst du aber nicht wählen was exportiert wird (beim Bearbeiten einer BuildConfig ... beim Speichern eines Optsets ist es schon gefiltert, bzw. das "nicht festgelegt", was man nicht braucht)
Wenn BuildConfig exportiert, dann nachträglich nochmal die Datei öffnen und rauswerfen, was du nicht haben wolltest.





Per se müssten die Projektoptionen dringend mal überarbeitet werden.

* Wenn man sas ändert, bräuchte es eine Vererbungsausfräumfunktion, wenn man z.B. was in Basis ändert, dann (optional) diese Änderung auf alles Untergeördnete übernehmen (also bei Untergeordnetem die Zuweisungen löschen).
* Und eine Anzeige, ob in untergeordneten/übergeordneten Configs Zuweisungen (Abweichende Einträge) existieren.

https://www.uweraabe.de/Blog/2021/09...for-delphi-11/
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Sep 2022 um 18:29 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#3

AW: Hilfe zu Projekteinstellungen - Targets und optsets

  Alt 14. Sep 2022, 06:55
optsets ... nicht wirklich benutzbar. (scheinen Viele so zu sehen, oder warum verwendet sonst kaum jemand das )
Das sehe ich auch so
Ich glaube das ganze Problem liegt auch zum großen Teil an der inkonsistenten Vererbung der Optionen,
die scheint nur bei Textfeldern einigermaßen zu funktionieren.
Da würde ich mir sowieso lieber Optionen als JSON oder YAML verwaltbar wünschen, statt so einem überambitionierten Editor auf den man sich nicht 100% verlassen kann.
Das hätte sicher viele Vorteile, z.B. dass man die Optionenseinstellungen zwischen Projekten mal sauber vergleichen könnte, das sinnvolle Gruppierungen leicht machbar wären, usw.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.445 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Hilfe zu Projekteinstellungen - Targets und optsets

  Alt 14. Sep 2022, 09:52
Danke für die Rückmeldungen.
War so nicht direkt die Antwort auf die Frage. Die Antwort lautet wohl: Nein

opsets verwenden wir in der Firma schon immer. Dazu gibt es ein base.opset, ein debug.optset und ein release.optset. Die sind bei fast jedem der hunderte Projekte mit dabei.
Funktionieren tut das auch irgendwie, verstehen tue ich das nicht so recht vor allem im Zusammenhang mit den Targets.
ok, wurschtele ich halt so weiter. Ist bei Delphi ja üblich
  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
 
#5

AW: Hilfe zu Projekteinstellungen - Targets und optsets

  Alt 14. Sep 2022, 10:18
Ich oute mich dann auch mal als OptionSet-Verwender. Gerade in Projektgruppen mit vielen Projekten, die alle die gleichen Suchpfade für Libraries benötigen, sind entsprechende OptionSets eine massive Erleichterung.

Das größte Manko für mich dabei ist einfach die fehlende Unterstützung im FinalBuilder - und das schon seit geraumer Zeit. Weil ich deswegen aber nicht auf OptionSets verzichten möchte, habe ich da zwei verschiedene Lösungswege erarbeitet. Bei simplen Build-Projekten verwende ich dann einfach MSBuild - entweder im FinalBuilder oder direkt in ContinuaCI. Für die Fälle, bei denen das nicht geht, habe ich ein kleines Tool geschrieben, mit dem die OptionSets in den dproj-Dateien aufgelöst werden.

Leider lassen sich nicht alle Bereiche der dproj-Datei in ein OptionSet auslagern. Solange diese aber auch nur so selten verwendet werden, sind Verbesserungen in dem Bereich auch nicht mit hoher Priorität zu erwarten.
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
 
#6

AW: Hilfe zu Projekteinstellungen - Targets und optsets

  Alt 14. Sep 2022, 10:25
Solange diese aber auch nur so selten verwendet werden,
Würde es besser funktionieren, täten es vielleicht auch mehr benutzen.

Wie gesagt, so lange man nur für eine Platform entwickelt und viele Projekte hat (wir haben in diesem Projekt knapp über 100 BPL, DLL und paar EXE, in etwa 5 Gruppen mit gemeinsamen Optionen -> FremdBPL, BPL, DLL, EXE und ToolsEXEn, also welche die nur selten und ohne Laufzeitpackages Kompiliert werden), dann können ie schon praktisch sein.
Aber nun geht es auch in Richtung 64 Bit und für einen Teil der BPLs auch Android.




Das sind halt keine "Optionen".

Am Ende ist jede Option eine Variable in einem Script,
eventuell noch mit einem IF DieseVar = '' THEN DieseVar := DieseOption;



Die DPROJ ist eigentlich sowas wie ein Script, für MSBUILD ... Kannst es dir wie DTD und XMLTransform vorstellen, oder entfernt auch mit JavaScript, QBasic, Python, PascalScript usw. vergleichen.

Und die Optsets sind wie eine INCLUDE-Datei, welche optionale Variablen an verschiedenen Stellen einbindet.




Und die Optionen-GUI pfuscht darin so rum, wie der Delphi-Projektmanager und die Optinen an der DPR/DPK, was auch nicht immer gut ausgeht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Sep 2022 um 10:36 Uhr)
  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 06:23 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