PDA

Ver la Versión Completa : Colocar units en DLL


adebonis
27-03-2004, 11:49:44
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.

__cadetill
27-03-2004, 13:02:30
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

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 DLL

procedure LanzaProcedure(Param : string); stdcall; export;
begin
// aquí la creación del formulario/report y su lanzamiento
end;

exports
LanzaProcedure,


Puedes pasarle los parámetros que quieras (como conexión a la BD, usuario, contraseña, condición SQL a lanzar,..........)