Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#11

AW: Funktionsname im COde nutzen

  Alt 22. Mär 2020, 18:26
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

Geändert von mensch72 (22. Mär 2020 um 18:28 Uhr)
  Mit Zitat antworten Zitat