Cita:
Empezado por Al González
¡Hola Rolando!
Las dependencias entre paquetes no siempre son "a conciencia", suelen establecerse automáticamente, por una necesidad intrínseca del entorno de Delphi, cada vez que se compila un paquete que usa unidades que también son utilizadas por otro paquete que ya está instalado.
Si un paquete de componentes de datos usa la unidad DB.pas (algo que es muy común), un segundo paquete de componentes de datos que use la misma unidad encadenará una dependencia al primero (no puede cada uno tener su propia "DB").
En muchos casos es posible recompilar los paquetes para reorganizar o romper estas dependencias. Tengo dudas de por qué Borland no incluye muchos de los paquetes fuentes, pero en todo caso los archivos de código fuente de dichos componentes sí están disponibles y con ellos pueden crearse nuevamente los/otros paquetes para reinstalarlos, cuidando uno mismo las dependencias que se crean.
Espero haber ayudado en algo.
Al González.
|
Hola Al,
Muchas gracias por los comentarios.
Parte de las pruebas que estoy haciendo van en el camino que sugieres; sin embargo, hay algo que me llama la atención de tús comentarios.
Lo que planteas es que Borland no ha tenido cuidado de las relaciones entre paquetes, sino que ha confiado el asunto a un manejo automático. Si eso es así, implica cargas innecesarias de código al compilar los aplicativos ?. Eso explicaría el porque el tamaño de los ejecutables compilados con Delphi 2007 es considerablemente mayor que al compilar en versiones previas. Bueno, al menos en las que yo uso actualmente, aunque leí que quienes usan Delphi 7 también consiguen ejecutables más livianos que con el 2007.
Voy a estar atento a ese factor cuando termine mis pruebas.
Por otra parte, mencionas el caso de la unidad db. Esta unidad es la base común de las tecnologías de acceso a bases de datos , no parte del BDE. En ese orden de ideas debería estar en un paquete diferente, no en BDERtl100. Como sabes que forma parte de BDERtl100, o la mencionastes solo como un ejemplo general ?.
No he encontrado ningún BDERtl100.dpk, hay algún otro mecanismo para saber exactamente que unidades integran un paquete ?.
Ahora, en una revisión superficial, la única evidencia que encontré de que dbX usa a BDERtl100 es un texto en BDERtl100.xlm diciendo que dbExpress usa a SPParamDesc, definida en BDERtl100.