Forum: Die Delphi-IDE
by hzzm,
11. Mai 2017
Um mal meine letzte (meiner Meinung nach einfachste) Loesung des Problems zu Papier zu bringen:
In der ARBCompat.Inc:
'_24'
In der Post-Build .bat:
.Inc einlesen:
for /f %%a in ('more/e ^< "D:\My\Path\To\ARBCompat.inc"') do (
if not defined line set "arbcompat=%%a"
)
Forum: Die Delphi-IDE
by hzzm,
25. Apr 2017
Ich haette gerne
ARBCompat: String = '{$I ARBCompat.inc}';
weil ich in allem dahinter eigentlich nur den puren String-Inhalt brauche.
In batch regex replace und so wird einfach unnoetig komplex zu warten, ganz zu schweigen vom Drama in meinem Installer-Compiler.
Natuerlich funktionert das so nicht.
Gibt's irgendeinen schmutzigen Trick, durch den ich in der .inc wirklich nur den puren...
Forum: Die Delphi-IDE
by hzzm,
22. Apr 2017
Ja verdammt, das ist mir spaeter auch aufgefallen. So geht's auch nicht.
Ich brauche den String in meinem Installer-Kompilierer (der ueber .bat post-build startet), weil ich diese Compat nach aussen reflektieren muss (Information) und in meinem delphi-code, weil ich hier tatsaechlich in Abhaengigkeit der Compat unterschiedliche Aktionen reisse.
Dann muss ich den String halt doch an 2...
Forum: Die Delphi-IDE
by hzzm,
21. Apr 2017
Kann ich das nicht umgekehrt zu meinem Holzweg machen?
Ich setze eine environment variable die jederzeit in delphi verfuegbar ist und lese die einfach am Anfang in meinen Compat String?
Wenn ich das richtig verstanden hab', kann ich env vars ja schon ganz einfach an den post-build cmd liefern...
Forum: Die Delphi-IDE
by hzzm,
21. Apr 2017
Der Delphi-Code waere die erste Stelle, an der ich den Compat-String setze:
const
ARBCompat: String = '_47';
Der fliesst dann die komplette Build-Kette mit durch - wenn ich ihn nur aus delphi nach CMD kriege. Inklusive Installer-Erstellung etc etc.
Wie geht das denn? Eine delphi const oder var (is in dem Fall ja Wurscht) als Parameter an meine .bat?
Forum: Die Delphi-IDE
by hzzm,
21. Apr 2017
Da bin ich schon wieder mit der naechsten Nuss zu knacken:
Ich muesste in den Befehl des Post-Build-Ereignisses eine Variable einfliessen lassen.
Ich war gerade kurz auf dem Holzweg mit
SetEnvironmentVariable(PChar('ARB-Compat'), PChar(ARBCompat));
in FormCreate. Ist natuerlich Bloedsinn, ich brauch ARBCompat: String; natuerlich schon beim kompilieren natuerlich nach dem kompilieren wenn...