Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
¿Cómo puedo saber qué unidades usan una unidad determinada?

Hola, me gustaría saber si existe una forma rápida de saber qué unidades usan una unidad determinada.

Saludos.
Responder Con Cita
  #2  
Antiguo 21-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿A qué te refieres con unidad?

// Saludos
Responder Con Cita
  #3  
Antiguo 21-02-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Me refiero a una unit.

Quiero saber qué units tienen en el uses una unit determinada.

Saludos.
Responder Con Cita
  #4  
Antiguo 21-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Ah! Ja, ja, yo estaba pensando en unidades de medida o de disco.

Si tienes instalado GExperts, puedes usar el "Project Dependencies". Y si no lo tienes instalado, pues hazlo, es muy bueno y gratuito.

// Saludos
Responder Con Cita
  #5  
Antiguo 21-02-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Muchas gracias amigo.
Responder Con Cita
  #6  
Antiguo 25-11-2009
rcuevas rcuevas is offline
Miembro
 
Registrado: nov 2006
Ubicación: Rosas - Gerona - España
Posts: 39
Poder: 0
rcuevas Va por buen camino
Diferencia entre unidad incluida y unidad utilizada

Buenas Roman,

Yo tengo una duda muy parecida, y tengo GExperts instalado.
La diferencia es que, en mi caso, no quiero saber qué unidades estoy incluyendo, si no qué unidades estoy usando, con el objetivo de eliminar aquellas que estoy incluyendo pero no usando, y que no hacen otra cosa que ocupar memoria en mi programa.

He hecho una pequeña comprovación en GExperts, apra ver si era capaz de darse cuenta. He abierto "Project Dependencies" y he ido al detalle de una unidad concreta, donde he visto que, efectivamente, me listaba todas las unidades incluidas mediante la cláusula "uses" en esa unidad.

A continuación he modificado el código añadiendo una nueva unidad a la cláusula uses (aunque no he utilizado nada de esa unidad), y he guardado los cambios. Le he dicho a la ventana "Project Dependencies" que actualizase, y, tristemente, me ha listado tb esa nueva unidad, con lo que no me sirve para mi objetivo.

Por lo tanto, llegados aquí, la pregunta es: ¿Conoces algún método automatizado para averiguar, dada una unidad, qué unidades son las estrictamente necesarias incluir?

Muchas gracias por tu tiempo.
Responder Con Cita
  #7  
Antiguo 25-11-2009
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
cnpacks tiene la opción de "Clean uses", de hecho usa el código fuente de Gexpert en varios sitios. www.cnpack.org
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 25-11-2009
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
cnpacks tiene lo que buscas.

Se me adelantó Lepe
Responder Con Cita
  #9  
Antiguo 25-11-2009
rcuevas rcuevas is offline
Miembro
 
Registrado: nov 2006
Ubicación: Rosas - Gerona - España
Posts: 39
Poder: 0
rcuevas Va por buen camino
Gracias cracks!
Responder Con Cita
  #10  
Antiguo 25-11-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rcuevas Ver Mensaje
con el objetivo de eliminar aquellas que estoy incluyendo pero no usando, y que no hacen otra cosa que ocupar memoria en mi programa.
Aunque coincido en que es buena práctica quitar esas unidades, también cabe mencionar que delphi no incluye en el ejecutable código que no se usa, de manera que, en realidad, no ocupan memoria en tu programa.

// Saludos
Responder Con Cita
  #11  
Antiguo 25-11-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
Aunque coincido en que es buena práctica quitar esas unidades, también cabe mencionar que delphi no incluye en el ejecutable código que no se usa, de manera que, en realidad, no ocupan memoria en tu programa.
Secundando a Román, cabe mencionar que sólo ocuparán espacio en el ejecutable (y claro está, memoria de proceso) si dichas unidades tienen código de inicialización, es decir, sección Initialization, la cual puede ir acompañada o no de una sección Finalization que también ocupará espacio.

Son estas secciones la mayor razón para eliminar de las cláusulas Uses las unidades que no deseamos utilizar.

Por ejemplo, si incluimos la unidad nativa Controls en el Uses de nuestro programa, el siguiente código y las referencias que él hace serán incluidos en el ejecutable, aunque nosotros no hagamos ninguna referencia explícita a elementos de dicha unidad:

Código Delphi [-]
initialization
  NewStyleControls := Lo(GetVersion) >= 4;
  InitControls;
  StartClassGroup(TControl);
  ActivateClassGroup(TControl);
  GroupDescendentsWith(TCustomImageList, TControl);
  GroupDescendentsWith(TContainedAction, TControl);
  GroupDescendentsWith(TCustomActionList, TControl);

finalization
  FreeAndNil(DockSiteList);
  DoneControls;
De la unidad Controls.pas de Delphi 7.

También puede pasar que hagamos referencia a una unidad que no tenga esas secciones especiales, pero que ésta, a través de sus propios Uses, haga referencia directa o indirecta a unidades que sí tengan inicialización y finalización.

Saludos incluidos.

Al González.
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
Como saber si se entro una cadena determinada en un edit Tauro78 Varios 2 26-03-2007 11:18:03
¿cómo puedo utilizar Unidades en delphi? nomanches Varios 1 04-09-2006 15:50:30
como saber cual es la unidad de cd? crievep API de Windows 2 08-04-2006 00:22:29
Como saber las Unidades de las APIs onlytk API de Windows 1 06-11-2005 03:42:42
¿Cómo puedo Ocultar la Unidad de CD? adolfoz API de Windows 17 30-09-2004 23:51:36


La franja horaria es GMT +2. Ahora son las 09:07:58.


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