El registro TPath tiene el constructor de clase TPath.Create que inicializa los vars de clase. Pero, no puedo encontrar ninguna unidad donde se utilice/llame a TPath.Create a pesar de que todos los vars tengan los valores correctos (TPath.PathSeparator, ...).¿Dónde se inicializa el registro de TPath desde System.IOUtils?
Respuesta
Los constructores de clase se llaman automáticamente por el código de inicialización que produce Delphi. Los constructores de clase se llaman durante la sección de inicialización de la unidad en la que se declaran.
Esto se describe con más detalle en el documentation:
Un constructor de clase es un método de clase especial que no es accesible para los desarrolladores. Las llamadas a los constructores de clase se insertan automáticamente por el compilador en la sección de inicialización de la unidad donde se define la clase. Normalmente, los constructores de clase se utilizan para inicializar los campos estáticos de la clase o para realizar un tipo de inicialización, que se requiere antes de que la clase o cualquier instancia de clase pueda funcionar correctamente. Aunque se puede obtener el mismo resultado colocando el código de inicialización de clase en la sección de inicialización, los constructores de clase tienen la ventaja de ayudar al compilador a decidir qué clases se deben incluir en el archivo binario final y cuáles se deben eliminar.
Puede ver que esto es así al habilitar Depurar DCU y luego establecer un punto de interrupción en el código en el constructor de la clase.
- 1. Averiguar dónde se inicializa una variable
- 2. ¿Dónde se encuentra el registro de PHPMailer?
- 3. ¿Dónde se almacenan las variables de entorno en el registro?
- 4. JSF inicializa el bean scope-scope cuando se inicializa el contexto
- 5. ¿dónde se encuentra el registro de eventos de Oracle?
- 6. ¿A qué se inicializa un puntero?
- 7. ¿Dónde se registran los errores de registro de IIS 7.5?
- 8. ¿Cuándo se inicializa un navegador flash?
- 9. ¿Cuándo se inicializa "este" puntero en C++?
- 10. C# - comprobando si se inicializa una variable
- 11. Objeto AudioRecord que no se inicializa
- 12. Registro de entrada desde el formulario invisible
- 13. TCompressionStream inicializa con datos
- 14. Registro de Java: ¿dónde está mi archivo de registro?
- 15. Dónde ver resultados desde PlayN.Log
- 16. ¿Dónde está el registro de construcción "principal" de TFS 2010?
- 17. ¿Dónde está el registro de bloqueo de Visual Studio 2008?
- 18. ¿Dónde puedo encontrar el registro de transacciones de MySQL?
- 19. ¿Dónde está el archivo de registro de nodejs?
- 20. ¿Cómo habilito el registro FFMPEG y dónde puedo encontrar el archivo de registro FFMPEG?
- 21. ¿Cómo se inicializa la vista cuando se carga a través de un guión gráfico?
- 22. ¿Dónde puedo encontrar programáticamente dónde se almacenan los archivos de registro log4j?
- 23. ¿Dónde creará log4net este archivo de registro?
- 24. ¿Cómo y dónde exactamente se establece el cliente de correo electrónico predeterminado en el registro?
- 25. ¿Dónde almacena el registrador de raíz Python un registro?
- 26. ¿Dónde reside el registro de errores de PHP en XAMPP?
- 27. ¿Stack <> constructor revierte la pila cuando se inicializa desde otra?
- 28. ¿Cómo se inicializa un contenedor con plantilla estática?
- 29. Buscar la versión MSXML desde el registro
- 30. La colección bootstrapped de Backbone no se inicializa correctamente
¡Gracias! De nuevo, algo nuevo y útil, al menos para mí. – Branko