Las respuestas hasta ahora pasan por alto un punto crucial: los paquetes de tiempo de ejecución son útiles de la misma manera que los archivos DLL son útiles si tiene un conjunto de aplicaciones que funcionan juntas y se instalan juntas. Se podría, por supuesto vincular las bibliotecas VCL y de terceros en todos ellos mediante la construcción de ellos sin paquetes, pero dependiendo del número de aplicaciones y librerías utilizadas el tamaño de estas aplicaciones combinadas será más grande que el tamaño de ellos construidos con paquetes de tiempo de ejecución más el tamaño de esos paquetes de tiempo de ejecución. Esto hará que los paquetes de instalación sean más grandes, lo cual no es el gran problema que alguna vez fue.
Pero al usar todas estas aplicaciones al mismo tiempo, también traen una carga mucho más alta para el sistema. Como cada aplicación utiliza su propia copia de la VCL y de las otras bibliotecas, todas deben cargarse desde el disco en la memoria, lo que causa más E/S. Y luego habrá varias copias de ellos en la memoria, cada uno ocupando espacio para el código. Cuando se utilizan paquetes de tiempo de ejecución, cada aplicación tendrá su propia área de memoria para los datos, pero todos compartirán la misma copia del código de los paquetes en la memoria.
para una sola aplicación autónoma y sin duda alguna necesidad especial construir sin paquetes.
Tengo curiosidad por esto también. Uso EurekaLog, y su capacidad de pérdida de memoria no funciona a menos que compile sin paquetes de tiempo de ejecución. Así que pasé unos días eliminando la necesidad de hacerlo. Entonces, para agregar a su pregunta, también me interesa si vale la pena construir paquetes de tiempo de ejecución WITH para una compilación de depuración, y WITHOUT for a build, y si es así, ¿cómo se puede hacer eso? – lkessler