1) La única diferencia es que dos unidades no pueden referirse una a otra en la sección interface pero sí en la sección implementation.
2) Hasta donde entiendo el linker de delphi es lo suficientemente inteligente como para incluir sólo el código que realmente se utiliza. Por lo general no tienes que preocuparte de este tipo de situaciones.
3) Busca en la ayuda acerca de "dynamic arrays". Ahí explica muy bien esta cuestión. En principio no tienes que preocuparte de la liberación de memoria ya que se libera automáticamente cuando la variable sale del alcance (sea porque se termina el procedimiento donde está declarada o, si es global, porque termina la aplicación) aunque puedes liberarla prematuramente tú mismo usando Finalize o asignándole nil.
Te recomiendo que leas la guía de estilo (menú de la parte superior) para enterarte de algunas normas mínimas de los mensajes como es la de no mezclar en un solo hilo preguntas no relacionadas entre sí.
// Saludos
|