Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Colocar units en DLL (https://www.clubdelphi.com/foros/showthread.php?t=8616)

adebonis 27-03-2004 11:49:44

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.

__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
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 DLL
Código:

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,..........)


La franja horaria es GMT +2. Ahora son las 06:14:55.

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