Ver Mensaje Individual
  #3  
Antiguo 22-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.933
Reputación: 27
delphi.com.ar Va por buen camino
Recuerda que el DFM no se compila, por eso no da un error a la hora de compilar el proyecto si lo daría si tuvieramos esa referencia por código (Para mi este es uno de los pocos puntos en contra de Delphi). Por otro lado, si bien en el DFM las referencias se guardan por nombre, bien sabemos que Delphi referencia a los objetos por los punteros de los mismos.
Por una ojeada no en profundidad, me parece que la respuesta esta en la función Classes.GlobalFixupReferences, cuando lee el DFM del form y no encuentra fácilmente la referencia a un control (TReader.DoFixupReferences), la agrega a la lista GlobalFixupList (GlobalFixupList.Add(FFixups[i]), al terminar del leer el DFM, ejecuta esta función busca al DataModule con FindGlobalComponent y busca el componente dentro con FindNestedComponent....
Obviamente como FindGlobalComponent utiliza la lista de los objetos globales registrados, va a tomar el primero de la lista, es decir, el primero que se registró.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita