Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

Re: In welcher Methode bin ich?

  Alt 16. Aug 2007, 12:54
@Luckie,

es gibt Wege den Unit Namen und Methoden Namen auch zur Laufzeit zu ermitteln, ohne Debug Infos. Aber das sind tiefste Tricks die auf die RTTI aufbauen und nicht mit jeder Methode funktionieren. So bald eine Methode published ist speichert der Compiler in der RTTI diese Informationen, eben Name und Aufrufparameter. Den Unit Namen kann man ermitteln relativ zum Codesegement in dem man sich befindet. Der Compiler speichert die RTTI's immer zum Codesegement das diese Unit belegt. Bei Klassen/Interface-RTTIs steht der Unit-Name mit in dieser RTTI. Dann speichert der Compiler auch noch die Einsprungspunkte in die Initialization/Finalization Sektionen der Units und über diese kann man in einer speziellen Resource den Unit Namen ermitteln, das trifft besonderst bei Packages zu bzw. dafür wurde es auch konstruiert.

Gruß Hagen
  Mit Zitat antworten Zitat