Y considerar que los constructores y destructores de clase vienen a ser, para muchas nuevas bibliotecas, una mejor alternativa que las tradicionales secciones Initialization y Finalization. Estas últimas, opcionales al final de las unidades .pas, sí que hacen que el programa ejecutable pese y haga más cosas de las que vemos a simple vista.
Ojo, pues. |
Cita:
Ahora, sólo por ponerla, no hace nada (hagamos de cuenta que no hay inicialización ni finalización). Hagamos de cuenta que del centenar de procedimientos tienes contemplado usar apenas unas decenas. Justamente en la aplicación se incorporan solamente lo que se invoca. Y el compilador es inteligente. Si no se usa nada, no lo pone. Lazarus es igual, aunque en esto es un poco más vivo: te informa de las unidades que no se están usando. De todas formas, se puede hacer una "limpieza" al borrar los archivos temporales que genera Delphi y forzar de esa forma una nueva construcción. Saludos, |
Totalmente de acuerdo con lo que decis; pero vuelvo a remarcar que a mi no me interesa mucho el ahorro de bytes en el binario final sino el concepto (impacto que tiene en el diseño) el tener un uses que sobra
Cita:
Cita:
Con un codigo de aplicacion de consola vacio (un simple Readln para que no se cierre), aunque este la unit3 en el uses, los constructor/destructor de clase no se ejecutan. Pero, si hago esto si:
Esto se ejecuta siempre
|
Claro está, Agustín. Por eso en muchos casos resultan mejores los constructores y destructores de clase (quizá debí intentar explicarlo tan bien como tú). :)
Marcelo: interesante lo que hace Lazarus. Me pregunto por qué Delphi se ha demorado tanto en agregar algo tan útil (de forma nativa). Saludos óptimos. |
Lazarus lo informa por medio de un hint o warning... no recuerdo bien. Estoy en mi cama con el celular y durmiendome como para verlo ahora.
Lo que si puedo decir es que tal funcionalidad puede que venga de la mano con el hecho de que por defecto Lazarus almacena info de debug. A medida que uno pone y saca cosas el ejecutable gana en tamaño, aún cuando hace linkeo inteligente se le queda basura y hay que borrarsela. Para eso se le configura al poyecto y se indica que no genere debug info. Delphi en esto es diferente. No se queda con la basura. Solo se queda con los ultimos cambios. Pueden ver esto en accion con la generacion de los archivos de compilacion temporales. Delphi detecta cuando cambia algo, y debe regerenarlos. Desconozco por que no han puesto esta caracteristica, o si la pusieron tarde. Saludos Saludos |
Cita:
|
Eso deberíamos hacer todos Al.
Pero es difícil evitar la tentación. Yo lo tengo por despertador y emergencias. Lo que si hago es dejarlo a una distancia prudenciable... cosa que al sonar la alarma me levante para apagarlo :D Saludos, nuevamente con el celu y listo para dormir. |
Yo siempre lo apago, no quiero saber nada de emergencias, y menos todavía si la emergencia es a las 5 AM y algo así como: "Heriberto, que estamos esperándote abajo. Aquí no vive ningún Heriberto.
|
Cita:
Saludos :) |
Cita:
|
La franja horaria es GMT +2. Ahora son las 22:16:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi