Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2018
juniorSoft juniorSoft is offline
Miembro
 
Registrado: abr 2005
Posts: 178
Poder: 20
juniorSoft Va por buen camino
Cita:
¿Que se obtiene en este caso? Los ejecutables tienen menor tamaño, comparten un mismo diseño y una misma funcionalidad y lo mas importante, cada vez que se modifica una funcionalidad compartida y que hace parte de la base solo debes cambiar la BPL y no re-compilar cada programa (Aunque aveces es necesario)
Cita:
Los ejecutables tienen menor tamaño
Eso lo tengo claro, ahora bien, en el ejemplo que estamos analizando un pequeño ejemplo no se esta utilizando una bpl, solo estamos utilizando la unidad que se creo en el proyecto de paquete PkgForm0.dproj en lo cual son dos propósitos distintos.

Cita:
En nuestro equipo tenemos un sin fin de ejecutables, casi que para cada funcionalidad. Es decir si habláramos de inventario, habría un ejecutable de parámetros, otro de categorías y elementos de inventario, otro de registro de movimientos, otro de los reportes y otro de cierre (y podrían haber mas... mucho mas).

Los formularios base se agregan a cada proyecto pero no se pueden modificar, el formulario principal de cada uno de estos programas hereda de estos base y al ejecutarse toman la versión que está en la BPL.
Ok, lo haces como plantea Neftali en sus ejemplos de forma dinámica.
Responder Con Cita
  #2  
Antiguo 23-10-2018
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por juniorSoft Ver Mensaje
..En el ejemplo que estamos analizando un pequeño ejemplo no se esta utilizando una bpl, solo estamos utilizando la unidad que se creo en el proyecto de paquete PkgForm0.dproj en lo cual son dos propósitos distintos.
Cita:
<PropertyGroup Condition="'$(Base)'!=''">
<UsePackages>true</UsePackages>
<DCC_UsePackage>PkgForm0;$(DCC_UsePackage)</DCC_UsePackage>
Ahí en ese ejemplo se usa la BPL. Si tratas de compilar el programa sin el paquete, te generará error:

Código Delphi [-]
[dcc32 Fatal Error] PkgForm0.dpk(30): E2225 Never-build package 'PkgForm0' must be recompiled
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 23-10-2018
juniorSoft juniorSoft is offline
Miembro
 
Registrado: abr 2005
Posts: 178
Poder: 20
juniorSoft Va por buen camino
Ahora estoy mas claro,

Osea se ha agregado el archivo PkgForm0.dcp en las Opciones del proyecto Packages>Runtime Packages ademas de las unidades que se van a utilizar.


Cita:
¿Que se obtiene en este caso? Los ejecutables tienen menor tamaño, comparten un mismo diseño y una misma funcionalidad y lo mas importante, cada vez que se modifica una funcionalidad compartida y que hace parte de la base solo debes cambiar la BPL y no re-compilar cada programa (Aunque aveces es necesario)
Pero para el caso de reducir el tamaño de los ejecutables ya con este ejemplo se logra o debo proceder como lo describe Neftali en sus ejemplos creándolo como plugIns.?
Responder Con Cita
  #4  
Antiguo 24-10-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por juniorSoft Ver Mensaje
En el Proyecto BPLFormTest la relación que tiene con el proyecto PkgForm0.dproj se da a través de usar la unidad UForm0 y esta unidad que es la que quiero proteger para que no sea modificada, esta agregada mediante la opción de menú project>add to project . y se puede modificar fácilmente. Lo que me gustaría es heredar pero impedir que modifiquen la unidades Base desde los proyectos descendientes.

Podrías evitar añadirlo al proyecto, aunque tendría que estar accesible, a través de las opciones del proyecto.
Simplemente es una diferencia "visual". Igualmente como debe estar accesible, los usuarios podrían abrirlo y modificarlo.
Simplemente que visulamente no se vería dentro del proyecto BPLFormTest.



Cita:
Empezado por juniorSoft Ver Mensaje
en el ejemplo que estamos analizando un pequeño ejemplo no se esta utilizando una bpl, solo estamos utilizando la unidad que se creo en el proyecto de paquete PkgForm0.dproj en lo cual son dos propósitos distintos.

No.
La unidad está en el package y al hacer el USES de esa unidad, como el proyecto utiliza ese package, realmente está utilizando la unit almacenada en el package.
Eso se ve fácil si revisas los recursos de cada fichero. Compila el package y compila el EXE y luego revisa los recursos de cada uno. Verás lo siguiente:



Como puedes ver, el form0 está en el package, mientras que el form1 está en el EXE.




Cita:
Empezado por juniorSoft Ver Mensaje
Pero para el caso de reducir el tamaño de los ejecutables ya con este ejemplo se logra o debo proceder como lo describe Neftali en sus ejemplos creándolo como plugIns.?

Al utilizar packages, se reduce el tamaño del EXE, o mejor dicho, lo que hacemos es "repartir" el tamaño que tendría un EXE único entre varios ficheros, en ese caso 1 EXE y N BPL's (más o menos).
Eso es independiente de si los cargas de forma estática o dinámica.
Las ventajas de la carga estática o dinñámica son otras, pero no afecta al tamaño final del proyecto.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 24-10-2018
juniorSoft juniorSoft is offline
Miembro
 
Registrado: abr 2005
Posts: 178
Poder: 20
juniorSoft Va por buen camino
Excelente, ahora estoy mas claro.

Cita:
Podrías evitar añadirlo al proyecto, aunque tendría que estar accesible, a través de las opciones del proyecto.
Simplemente es una diferencia "visual". Igualmente como debe estar accesible, los usuarios podrían abrirlo y modificarlo.
Simplemente que visulamente no se vería dentro del proyecto BPLFormTest.
La solución aquí sera como dice movorack, como los Formularios base están en una carpeta compartida, darle a esta permisos de solo lectura.

Perdón por la pregunta pero como puedo acceder al Resource Editor?

Cita:
Al utilizar packages, se reduce el tamaño del EXE, o mejor dicho, lo que hacemos es "repartir" el tamaño que tendría un EXE único entre varios ficheros, en ese caso 1 EXE y N BPL's (más o menos).
Eso es independiente de si los cargas de forma estática o dinámica.
Las ventajas de la carga estática o dinñámica son otras, pero no afecta al tamaño final del proyecto.
Para mi caso aunque no era el propósito inicial pero también tiene sus ventajas, tendría que distribuir la bpl de los formularios base junto con el ejecutable para que funcione. Inicialmente lo que pretendo es que no estén modificando los formularios base para cosas especificas ya que los demás empezarían a tener fallas cuando cambien algo en dichos formularios ya sea en la interfaz o los métodos protegidos o públicos que hay.

Muy agradecido de la orientación.

Saludos,
Responder Con Cita
  #6  
Antiguo 25-10-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por juniorSoft Ver Mensaje
Perdón por la pregunta pero como puedo acceder al Resource Editor?

Es una utilidad gratuíta de editor de recursos.
la página es esta, aunque ahora mismo veo que no está disponible.
http://melander.dk/reseditor/


De todas formas hay muchos otros programas similares, que a partir de un EXE o BPL te permiten ver los recursos que almacena.
https://stefansundin.github.io/xn_resource_editor/
https://sourceforge.net/projects/xn-resource-editor/
https://alternativeto.net/software/xn-resource-editor/
https://alternativeto.net/software/resedit/

Añado uno más:
https://www.mitec.cz/exe.html

Y otro más:
http://www.angusj.com/resourcehacker/
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 25-10-2018 a las 10:29:17.
Responder Con Cita
  #7  
Antiguo 25-10-2018
juniorSoft juniorSoft is offline
Miembro
 
Registrado: abr 2005
Posts: 178
Poder: 20
juniorSoft Va por buen camino
Perfecto,

Esas utilidades pueden ser de mucha ayuda para los que nos dedicamos a desarrollar aplicaciones.

Gracias de Nuevo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar Formularios en Eclipse omar_e_rc JAVA 6 19-09-2011 12:26:29
Problema al usar un mismo ID en formularios distintos Vales08 Varios 5 13-07-2011 21:30:26
Usar LoadFromStream para formularios GerTorresM Varios 4 11-11-2010 16:01:30
usar un procedure en varios formularios adonai Varios 21 30-03-2007 17:42:34
usar botones y etiquetas de flash en los formularios?? nidia Gráficos 1 25-11-2005 01:51:09


La franja horaria es GMT +2. Ahora son las 06:37:31.


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
Copyright 1996-2007 Club Delphi