AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Zugriff auf Environmental-Variablen mit compiler directives (Pre-Compile-Script) ?
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Environmental-Variablen mit compiler directives (Pre-Compile-Script) ?

Ein Thema von Rollo62 · begonnen am 29. Apr 2020 · letzter Beitrag vom 30. Apr 2020
 
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#7

AW: Zugriff auf Environmental-Variablen mit compiler directives (Pre-Compile-Script)

  Alt 29. Apr 2020, 18:16
Sowas naheliegendes "Const User = '$(MyVar)';" hatte ich schon probiert, geht leider nicht.
Was soll denn dabei herauskommen? Der User, der den Compiler angeworfen hat, oder der User, der das Programm gestartet hat?
Das war ja nur ein Beispiel aus einem FPC Dokument, wie man irgendwelche Werte da rausholt.
http://www.math.uni-leipzig.de/pool/...00000000000000

Zitat:
Write ('This program was compiled at ',{$I %TIME%});
Writeln (' on ',{$I %DATE%});
Writeln ('By ',User);
Writeln ('Compiler version : ',{$I %FPCVERSION%});
Writeln ('Target CPU : ',{$I %FPCTARGET%});

Zitat:
Zitat:
Solche Pre-Compiler Wünsche müsste doch fast jeder IDE-Nutzer haben.
Scheint nicht wirklich verbreitet zu sein. Vielleicht fehlt mir auch nur das Verständnis mangels eines konkreten Anwendungsfalls.
Mit einem richtigen PreCompiler oder PreCompile-Script wäre manches möglich.

Ein Beispiel s.u. von Delphi.Narium, um Version Info settings zu holen und auch für externe Setup-Tools zu setzen.

Ausserdem könnte ein solches Tool einen Versionszähler bauen der wirklich funktioniert.

Bei mehreren Platformen, Konfigurationen kommt bei der Version Info manchmal was Durcheinander.
Das könnte ein PreCompile-Script womöglich setzen und korrigieren.

Auch könnte ein PreCompile-Script vorhandene Konfigurations-Vorlagen mit in die Options und Includes einbinden, und zwar fehlerfrei.
Zum Beispiel nur die Versions-Nummer, die man bei mehreren Konfigurationen mehrfach setzen muss.
Das könnte ein Script womöglich einmalig, und dann für Alle gleich übernehmen.

Es könnte auch Testen ob noch Alle settings richtig sind, oder ob ein Permission-Schalter fehlt,
besser noch setzt er das fehlene gleich.

Es könnte das Signieren und die erforderlichen Key's und so weiter erzeugen, verwalten, setzen.

Ich meine die ganze Handarbeit in den Optionen könnte größtenteils automatisiert werden.

Ich weiss das Du die OptionSets benutzt, das ist auch OK, mir felt da aber das sichere Automatisieren und Konfigurieren von mehreren OptionSets.
Z.B. würde ich gerne OptionsSets für Features anlegen,
OptionSet-Camera : setzt alles Notwendige für Camera in Win/iOS/Android/...
OptionSet-Location: setzt alles Notwendige für Camera in Win/iOS/Android/...
OptionSet-Maps : setzt alles Notwendige für Camera in Win/iOS/Android/...
....

Diese OptionSets wären dann erstmal wiederverwendbar, ich mus mir mein neues Projekt aber von Hand zusammenklicken.

OptionSet-Maps käme s.o. auch schon an eine Grenze, weil zwei individuelle API-Keys (DEBUG/RELEASE) benötigt werden.

Sowas würde ich gerne in einer Projektvorlage unterbringen (mehr oder weniger eine komprimierte .dproj Vorlage), welche dann die ganze .dproj konfiguriert, und bei Bedarf auch Includes o.ä. anpassen kann.

Was ein solches System noch leisten könnte wäre die einfache Migration von einem Projekt zu einem anderen Kunden, indem alle Settings, Zertifikate, API-Keys, etc. umgeschaltet werden.

Von den gefühlt 500 Parameter ändern sich in der Praxis wohl nur 10-20, und genau die wären meine ideale Projekt-Vorlage.

Geändert von Rollo62 (29. Apr 2020 um 18:20 Uhr)
  Mit Zitat antworten Zitat
 


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:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz