Die "Idee" ist recht einfach umsetzbar... "C++Like" mit einem eigenem kleinen PreProzessor
Also man schreibe sich fix ein kleines Programm, welches man in der
IDE unter "RunBeforeCompile" und "RunAfterCompile" konfiguriert.
Neben __FILE__, __LINE__, __FUNCTION__ sind auch __DATE__ und __TIME__ für als CompileTimeStamp sehr nützlich... also:
- schauen, ob zum PasFile KEINE BackupDatei (z.B. "?.pas.pre") da ist
- das
PAS File zeilenweise im einfachsten Fall in eine "Stringlist" einlesen und diese "zeilenweise" durchlaufen
- zeilenweie bei "procedure" und "function" das was dahinter kommt, also bis zur KlammerAuf bzw dem Semikolon für "__FUNCTION__" merken
- zeilenweie 5x "StringReplace" für '__FILE__', '__LINE__', '__FUNCTION__', '__DATE__', '__TIME__"
- wenn durch, org. PasFile umbenennen(z.B. "?.pas.pre") sowie StringList als PasFile abspeichern und den "PreProzessor" beenden
- Delphi übersetzt nun den Code mit den "eingesetzten RealStrings"
- anschließend wird der "PreProzessor" ein zweites mal gestartet, und benennt das PasFile z.b: in "?.pas.txt" um, und anschließend das gesicherte "?.pas.pre" wieder in "?.pas" (man könnte das auch als zweites sepatates "Restore&CleanUp" Programm schreiben)
Zur Optimierung sollte man das Tool via geeignetem DirectoryFilter davon abhalten fremden Source also Komponenten,Libs,
RTL,
VCL,FMX,... zu bearbeiten