![]() |
AW: Funktionsname im COde nutzen
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:) |
AW: Funktionsname im COde nutzen
Zitat:
Einen echten Preprozessor wie für Makros nötig sind, gibt es leider nicht, k.A. warum sich der Hersteller so dermaßen seit Jahrzehnten so dermaßen dagegen wehrt, bzw. es so penetrant ignoriert. Im Inlinecompilier kann man versuchen sich reinzuhängen, denn dort verwendet der Compiler auch geänderte Inhalte geladener Dateien, aber spätestens beim DCC war es dass, außer man manipuliert direkt die Quellcodedateien. Siehe z.B. deine Idee, wobei man da extrem aufpassen muß nichts kaputt zu machen, wenn es mittendrin abkratzt, und die auch nicht __history bzw. ein VCS bis zur Unbenutzbarkeit durcheinander bringt. Es gibt leider kein Event (mehr), wo man "sicher" Dateiinhalte, ohne zu speichern, zwischen Laden und Compilieren manipulieren kann. |
AW: Funktionsname im COde nutzen
Zitat:
|
AW: Funktionsname im COde nutzen
Zitat:
Trotzdem Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz