Ver Mensaje Individual
  #3  
Antiguo 30-07-2012
passmaker passmaker is offline
Miembro
 
Registrado: mar 2010
Posts: 10
Reputación: 0
passmaker Va por buen camino
Tarde pero seguro, explicacion muy sencilla del Sr. Marcus Cantu
" La cláusula uses, al principio de la sección de interfaz, indica a qué otras unidades tenemos que acceder en la porción de interfaz de la unidad. Esto incluye las unidades que definen los tipos de datos a que nos referimos en la definición de otros tipos de datos, como las componentes dentro de un formulario que estemos definiendo. La segunda cláusula uses, al principio de la sección de implementación, indica otras unidades, a que necesitamos acceder sólo en el código de implementación. Cuando necesite referirse a otras unidades del código de las rutinas y métodos, deberá añadir elementos en esta segunda cláusula uses, en vez de hacerlo en la primera. Todas las unidades a que se refiera deben estar presentes en el directorio del proyecto o un directorio de la ruta de búsqueda (puede establecer la ruta de búsqueda de un proyecto en la página Directories/Conditionals del cuadro de diálogo Options del proyecto)."

Dejo enlace:
http://www.marcocantu.com/epascal/Spanish/ch11unit.htm


Cita:
Empezado por roman Ver Mensaje
Para lo que concierne a la unidad donde esté declarada no hay diferencia como no sea la obvia de no poder usar elementos de la otra unidad antes de su inclusión.

La utilidad radica en que las unidades no pueden referirse circularmente una a la otra en la sección interface; por lo menos una de ellas debe poner la referencia en la sección implementation.

La verdad es que si bien tengo una vaga idea de por qué esto es así no lo sé cabalmente. Me parece que tiene que ver con el hecho de que en Delphi el compilador es de "un sólo paso", es decir, sólo recorre el código una vez para compilarlo. Admitir referencias circulares me parece que obligaría al compilador a dar dos vueltas como mínimo. Según alguna vez leí esto es lo que hace la gran diferencia en tiempo de compilación entre Delphi y, por ejemplo, C.

Sin embargo me encantaría que alguien más versado diera luz sobre el asunto.

// Saludos
Responder Con Cita