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
|