Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#6

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

  Alt 29. Apr 2020, 17:25
Ein Experte ist ein Delphi-Package, das in die IDE eingebunden wird (wie jedes beliebige andere Package auch, Package erstellen, kompilieren, installieren).

Bei einem Experten, der auf das Ereignis BeforeCompile reagiert, musst Du "nur" den Experten nach Deinen Wünschen erstellen. Beim Kompilieren ruft die IDE den automatisch immer auf. Du hast also genau einmal Arbeit nach Deinen Wünschen zu erledigen.
Du schreibst bei 'nem Experten letztlich nix weiter, als ein Delphiplugin, mit allen Dir in Delphi zur Verfügung stehenden Möglichkeiten, mit dem Du Dir Deine IDE selbst nach Deinen Wünschen erweiterst.

Ein Script ist 'ne Batchdatei, ein VB-Script, ein was auch immer, dass Du selbst aufrufen musst oder halt irgendwie in Deinen Buildprozess integrieren musst.

Ein Experte hat aber den Vorteil, er kennt das zu kompilierende Projekt und hält eine nicht unerhebliche Anzahl von Informationen vor, an die Du per Batch, VB-Script, ... niemals herankommst. Der Experte "weiß" quasi alles vom Projekt, was Delphi (also die IDE) auch weiß. Versionsinfos des Projektes, Dateinamen, Quelltexte, Informationen über sich selbst ...

Zitat:
Ich frage mal blöd, gibt es da eigentlich nichts Fertiges auf das man Aufbauen kann ?
Was meinst Du damit?

Bist Du mal den oben von mir verlinkten Suchergebnissen gefolgt?

Da solltest Du Experten finden, die Du nach Deinen Wünschen selbst anpassen kannst.

Ein Muster für 'nen BeforeCompile-Experten ist auch dabei. Du musst halt nur dort, wo die Batchdatei erstellt wird, eine Include-Datei erstellen, die Du nach Deinen Wünschen befüllst. Die musst Du halt per {$I Dateiname} in die dpr (oder sonst eine von Dir gewünschte Quelltextdatei) einbinden und der Kompiler berücksichtigt automatisch den Inhalt, da die Include ja letztlich nix weiter als ein Stück Quelltext des Programmes ist.

Den Aufruf der Batchdatei per ShellExecute aus dem Experten schmeißt Du raus. Damit sollte das Problem dann eigentlich gelöst sein.
Aufwand: Vermutlich weniger, als die bisherige Recherchearbeit zur Suche nach einer Lösung
  Mit Zitat antworten Zitat