Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#2

AW: Ist der Zugriff auf Environmental variables mit compiler directives möglich ?

  Alt 29. Apr 2020, 11:31
Hab' mir mal vor Jahren 'nen Before-/AfterCompile-Experten geschrieben, der u.a. 'ne Include-Datei für das gerade zu kompilierende Projekt erstellt. Dadrin stehen diverse Daten wie z. B. das Kompilierdatum, diverses aus den Versionsinformationen zum Projekt.

Der Experte müsste auch auf die Umgebungsvariabeln zugreifen können, die man dann beim Schreiben der Includedatei berücksichtigen kann.
Prinzipiell müsstest Du dort alles das nutzen können, was Du auch in 'nem Programm nutzen kannst.
Delphi-Quellcode:
{$DEFINE SBExperten_BeforeCompile}
(* Konstanten für die Versionsinformationen ... *)
Const
  csFV_CompileDate = '29.04.2020';
  csFV_CompileTime = '11:31:55';
  csFV_LastCompile = '29.04.2020 11:31:55';
  csFV_FileName = 'Project1';
  csFV_LegalCopyright = 'Copyright 2020 Dein Name oder sonstwas';
  csFV_Compiler = 'Delphi 7';
  csFV_CompilerVersion = '15';
  csFV_RTLVersion = '15';
  csFV_FileVersion = '0.0.0.0';
  csFV_CompanyName = 'Firmenname';
  csFV_InternalName = 'Project1';
  csFV_OriginalFilename = 'Project1';
  csFV_ProductName = 'Project1';
  csFV_ProductVersion = '0.0.0.0';
  csFV_FileDescription = 'Eine vernünftige Programmbeschreibung';
  csFV_LegalTradeMarks = '';
  csFV_Comments = 'Ein sinnvoller Kommentar zum Programm.';
  csFV_MajorVersion = '0';
  csFV_MinorVersion = '0';
  csFV_ReleaseVersion = '0';
  csFV_BuildVersion = '0';
  csFV_CodePage = '1252';
  csFV_Locale = '1031';
Das Erstellen einer Includedatei, die alles das, was Du in Deinem Beispiel aufführst enthält, sollte ohne übermäßig großen Aufwand möglich sein und steht Dir dann bei allen Programmen zu Verfügung. Ob Du die Includedatei nun in alle Programme einbindest oder nicht, bleibt Dir überlassen. Da sie vor jedem Kompilieren neu erstellt wird, enthält sie immer die aktuellen Informationen zum aktuellen Projekt.

Zum Stöbern, wie es eventuell umzusetzen sein könnte: IOTAProject site:delphipraxis.net
  Mit Zitat antworten Zitat