Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reutilizar codigo (https://www.clubdelphi.com/foros/showthread.php?t=27328)

Perio 17-11-2005 16:38:32

Reutilizar codigo
 
Hola, como estan todos:

Les comento mi situación, estoy creando un proyecto de "units base" para usarlo como molde para futuros proyectos. Consiste basicamente en un modulo de Datos, units de Sistema, y ventanas base como alta-baja-modificacion, listado, resumenes y demas (las ventanas con el fin de usar herencia ya que agiliza mucho el trabajo).

Yo tenia la idea inicial de hacer de todo esto un paquete para su posterior reutilizacion (se que tienen muchas ventajas), pero no se si es la mejor solucion y ademas tengo muchos problemas a la hora de compilarlo (estoy usando componentes extra y esto me acarrea muchos inconvenientes).

Estube buscando en el foro temas relacionados con la rutulizacion de codigo pero no encontre nada sobre el uso de paquetes o alguna forma uso de templates de proyecto. Hay un hilo interesante pero esta mas orientado a base de datos. Estaria bueno hablar de algo mas generico.

La idea de este hilo es discutir como es que ustedes reutilizan codigo y agilizan su trabajo.
Perio

jachguate 17-11-2005 16:56:04

Para la "base" de formularios/reportes basados en herencia visual, en lugar de un paquete, yo he preferido simplemente agregarlos al repositorio y tenerlos alli disponibles cuando haga falta.

Hasta luego.

;)

Perio 17-11-2005 17:04:05

Jachguate:

Yo era perseverante con la idea del paquete ya que los .exe se optimizan mucho.

http://www.clubdevelopers.com/delphi...ndpk/index.php

Este ejemplo es bien sencillo, lo probe y se reduce el tamaño del exe de 250kb a 14Kb. Eso esta interesante no?

Perio

jachguate 17-11-2005 19:16:32

claro. El tamaño del exe se reduce, pero igualmente el código debe estar en algún lugar, y en memoria resultará todo cargado al momento de ejecutarse el programa. Así, en ese sentido, no veo mucha ventaja de poner todo en un paquete. De hecho, nunca me planteado ni he probado el usar herencia visual con ancestros en paquetes. Supongo que funcionará y puede haber ganancia si varias aplicaciones usan el mismo "core" de formularios/reportes.

En todo caso, el problema entonces es de resolver y tratar las dependencias dentro de los paquetes, ya que al parecer es el uso de componentes de terceros el que está dando el problema.

Saludos.

Lepe 17-11-2005 19:27:51

Lo de usar paquetes yo al menos no lo veo claro.

Realmente no estas reduciendo tamaño; al fin y al cabo tienes que distribuir los paquetes y el exe, y normalmente una modificación requiere que toques más de un paquete (opinión personal y seguro que debatible ;)) así que estas en las mismas.

Por otra parte los paquetes son dependientes de la versión de delphi usada, ¿no sería mejor una dll ? es un solo archivo, aunque puedes crear varias.

La memoria y recursos usados, siempre serán los mismos, sin paquetes, con paquetes, con dlls, con compresores de ejecutables, etc.

saludos

mamcx 17-11-2005 19:49:07

Te pueden servir las ideas de los 3 ultimos artículos de mi blog:

http://solucionesvulcano.com/blog/blog.html

El tema de distribucion fisica es relativamente simple. Se hace con paquetes o plugins o dll o ActiveX o Servicios Web, dependiendo de lo que este de moda ;)

Pero mas critico es la separacion logica y de codigo...

Para empezar, seriamente hablando, debes empezar por montar un software de control de codigo como Subversion y hacer unit testing. Sin eso, es demasiado dificil lograrlo.

roman 17-11-2005 20:48:20

Cita:

Empezado por Lepe
Realmente no estas reduciendo tamaño; al fin y al cabo tienes que distribuir los paquetes y el exe, y normalmente una modificación requiere que toques más de un paquete (opinión personal y seguro que debatible ;)) así que estas en las mismas.

Si lo que se quiere es reducir el tamaño del ejecutable entonces ciertamente el uso de paquetes es irrelevante. Incluso me atrevería a decir que el tamaño global es mucho mayor. Cuando se compila todo en un solo ejecutable, el linker de Delphi agrega sólo lo que realmente se está usando. Al distribuir los paquetes por separado se incluye todo el código del paquete, se use o no en la aplicación.

Pero por otra parte, yo sí veo ventaja de usar paquetes. Posiblemente se requiera retocar más de uno, dependiendo de las dependencias que tengas, pero no todos. Y al momento de distribuir las actualizaciones es donde apreciarás la reducción de tamaño.

Si el objetivo no está en la distribución, ni en plig-ins, o cosas por el estilo, entonces yo creo que optaría por lo que dice Juan Antonio, simple herencia visual y repositorio.

Lo de usar dlls en lugar de bpls yo no lo consideraría a no ser que tenga la intención de usar su código en otros lenguajes. Vamos, que uno no cambia de versión de Delphi todos los días, y usar dlls sobre bpls es, pienso, desaprovechar las bondadndes de Delphi.

EDITO

¡Ah! Y es que esto de "al fin y al cabo tienes que distribuir los paquetes y el exe" es justamente lo que no es cierto. Al usar paquetes logras distribuir sólo los que hayan cambiado y no el ejecutable principal.

// Saludos

jachguate 17-11-2005 21:26:24

Cita:

Empezado por Lepe
La memoria y recursos usados, siempre serán los mismos, sin paquetes, con paquetes, con dlls, con compresores de ejecutables, etc.

Al menos este punto es discutible. Tenes el caso de los compresores de ejecutables. Si tenes dos instancias de un exe comprimido, en realidad vas a ocupar casi el doble de memoria (al menos para almacenar el código).

Saludos.


La franja horaria es GMT +2. Ahora son las 08:55:56.

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