Ver Mensaje Individual
  #4  
Antiguo 22-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
Mas que compilarlo lo que hace es guardar la información del .DFM dentro del ejecutable (de hecho, si usas algun visualizador de recursos y analizas un .exe generado por Delphi verás que bajo la clave "RCDATA" podrás leer todo el contenido que tenía el .DFM, ni siquiera está encriptado ni nada), y en tiempo de ejecución lo que hace es leerlo invocando al método que comente antes "InitInheritedComponent".

Aunque has sido más especifico que yo y, seguramente, sea ese el método que resuelve las referencias. Pero si te fijas la función "GlobalFixupReferences" es invocada dentro del método "ReadRootComponent" que pertenece a la clase "TReader" y si analizas la función "InternalReadComponentRes" (que es invocada por "InitInheritedComponent" dentro del constructor del módulo o formulario) verás que crea un objeto, "TResourceStream", y llama al método "ReadComponent" que es el que crea la clase "TReader" y llama a "ReadRootComponent". (Es decir, el contenido del archivo de recursos es leído en tiempo de ejecución desde el ejecutable, y éste contiene el nombre del objeto, tipo y subcomponentes que posea).

Chao!

Última edición por jmariano fecha: 22-08-2005 a las 23:56:04.
Responder Con Cita