Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   depurar librerias que no se utilizan en un form (https://www.clubdelphi.com/foros/showthread.php?t=90374)

darkbits 25-05-2016 23:19:24

depurar librerias que no se utilizan en un form
 
un saludo al club

hice una aplicación bastante grande, eh colocado al los form 's muchos componentes, de los cuales fui depurando bastante en el form ambiente gráfico, porque no los utilizare pero cuando veo en código
Código Delphi [-]
unit SistemGo;

interface

uses
me encuentro con muchos de esos componentes que puse al los form 's que siguen, y lo hacen mas pesado mi aplicación los que conozco voy eliminando de USES uno por uno pero hay muchísimos que no se si participan en la aplicación

mi consulta es hay alguna forma de depurar esas librerías que no están participando de mi aplicación en USES, algo automático, de lo contrario tendré que hacerlo manualmente, para que pueda ser mas liviano

Casimiro Noteví 25-05-2016 23:28:34

¿Con "depurar" quiéres decir "eliminar"/"borrar"/"quitar"?

Las cnwizards tienen una utilidad para ello.

darkbits 25-05-2016 23:32:30

tengo asi uno de los form
Código Delphi [-]
unit PanelPri;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, acPNG, Vcl.ExtCtrls, Vcl.Buttons,
  sSpeedButton, sPanel, Vcl.ComCtrls, sPageControl, System.ImageList,
  Vcl.ImgList, acAlphaImageList, Data.DB, sMaskEdit, sCustomComboEdit,ShellApi,
  sToolEdit, Vcl.Mask, Vcl.StdCtrls, AdvObj, BaseGrid, AdvGrid, Vcl.Grids,
  Vcl.Samples.Spin, RxToolEdit, RxCurrEdit, Vcl.DBGrids, Vcl.DBCtrls,ups,uiapp,
  sSkinManager, DBAdvGrid, Vcl.Menus, frxClass, frxDBSet, frxBarcode,
  frxGradient, Vcl.Imaging.jpeg, Vcl.AppEvnts;

muchos de ellos no participan en la aplicación, hay alguna forma de que delphi pueda quitarlo de USES los que no intervienen en la aplicación? o a eliminar uno por uno...

en USES solo quiero que estén los que participan en mi aplicación...

Casimiro Noteví 25-05-2016 23:35:17

Pues eso...:
Cita:

Empezado por Casimiro Notevi (Mensaje 505590)
Las cnwizards tienen una utilidad para ello.


darkbits 25-05-2016 23:59:54

ya descargue cnwizards sabe que utilidad utilizar ? para mi es nuevo...

darkbits 26-05-2016 00:23:08

tiene muchas cosas esta aplicación, lo cambia de nombres a cada objeto que sale,
yo tengo DX10 en tu experiencia Casimiro Notevi es recomendable utilizar Las cnwizards, no me quedo con mi DX10 limpio

gracias por tu respuesta

Casimiro Noteví 26-05-2016 00:29:48

Puedes habilitar/deshabilitar todas las opciones que quieras.

Casimiro Noteví 26-05-2016 00:31:21

Uses cleaner.


Delphius 26-05-2016 01:59:02

De todas formas que estén en el uses no quiere decir que se incluya en el ejecutable final.
El compilador solito detecta que necesita y toma de cada unidad lo justo y necesario.

Es notable destacar que Lazarus solito avisa cuando una unit no se utiliza. Me extraña que Delphi al día de hoy no lo haga :rolleyes:

Neftali [Germán.Estévez] 26-05-2016 08:50:14

Otra opción segura 100% es "Mover" o "renombrar" los fuentes y los packages de esos componentes que no utilizas para que la compilación no los encuentre.
De esa forma seguro 100% que no te olvidas ninguno.

Una vez acabado y compilado vuelves a restaurar los packages/sources a su lugar original.

dec 26-05-2016 16:35:47

Hola,

Lo que yo suelo hacer cuando creo un nuevo formulario es borrar todas las unidades excepto la única necesaria: "Forms". A partir de ahí todo lo que se va añadiendo está más o menos controlado, de hecho mis "uses" son parecidas a esta (tomada al azar):

Código Delphi [-]
uses
  // Delphi
  System.Classes,
  System.Generics.Collections,
  System.RegularExpressionsCore,

  // I18n
  i18nCore,
  i18nLocalizer,

  // Project
  AppBuilder.Shared.UserFunction,
  AppBuilder.Shared.PluginFunction,
  AppBuilder.Shared.AppActionsConsts;

De este modo siempre puede quedar algo olvidado, pero, más o menos se lleva cierto control.

rocksoft 26-05-2016 19:10:45

Buenas

yo lo que hago

copio todas las unidades:

Cita:

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, math, cxGraphics, Vcl.StdCtrls, cxButtons, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids,
Data.DB, dbisamtb, ComCtrls, URLMon, StrUtils, IdBaseComponent, IdAntiFreezeBase, Vcl.IdAntiFreeze, System.Zip,
ShlObj, ShellAPI, ActiveX, Vcl.Mask, Vcl.DBCtrls, Vcl.Samples.Gauges, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP;
y despues las borro todas menos una y le doy a compilar. Apartir de aqui ya se encargara Delphi de decirme lo que le falta o lo genera de forma automatica


La franja horaria es GMT +2. Ahora son las 13:58:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi