![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Colocar units en DLL
Hola a todos:
Estoy viendo que en ejecutable que tengo con delphi 5 y que ya compilo con Packages, adquiere un tamaño de 3.325 Kb. Me gustaría rebajar su tamaño sin tener que acudir a programas de compresión. Creo que si pasara algunas pantallas, funciones o Reports a un archivo dll iría mejor. Dos preguntas: Primera: Si realizo esto, ¿mejoraría su "performance" en equipos con poca memoria? Segunda: ¿Se pueden pasar Reports a dll? ¿Cómo? Adolfo de Bonis Mora Gracias. |
|
#2
|
|||
|
|||
|
Hola adebonis
Respecto a la primera pregunta, si creas los formularios en tiempo d ejecución, no lo creo Respecto a la segunda, sí que se puede Codigo app Código:
const MyDLL = 'Project2.dll';
var
Form1: TForm1;
LanzaProcedure : procedure (Param : string ) stdcall;
implementation
procedure TForm1.LanzaProcClick(Sender: TObject);
var
Handle: THandle;
begin
Handle := LoadLibrary(MyDLL);
if Handle <> 0 then
begin
@LanzaProcedure := GetProcAddress(Handle, 'LanzaProcedure');
try
if @LanzaProcedure <> nil then
begin
LanzaProcedure('Hola, esto es el parametro que se le pasa al procedure');
end;
finally
FreeLibrary(Handle);
end;
end;
end;
Código:
procedure LanzaProcedure(Param : string); stdcall; export; begin // aquí la creación del formulario/report y su lanzamiento end; exports LanzaProcedure, |
![]() |
|
|
|