PDA

Ver la Versión Completa : DLLs que creen forms y pasarles parametros


Wonni
15-06-2006, 22:33:46
Hola,

Resulta que tengo un programa donde cree una Unit para Procedures y Functions. En esta Unit tengo las Uses necesarias. Por ejemplo, otra Unit que me cree es para Variables.
Yo ahora me pregunto si es posible meter ambas cosas (La Unit de Procedures y Functions y la de Variables) en una o varias DLLs. Novato total en el tema de DLLs, he buscado aqui en el Club y he visto un ejemplo que muestra un ShowMessage. Pero, claro, las Procedures y Functions que tengo en las Units comentadas, tienen referencias a forms, por ejemplo un form personalizado que tengo para mostrar mensajes y dialogo.

En el Project de la DLL, he probado a crear un Form y la compilo sin error, pero cuando desde otra apliacion que utiliza esta DLL, llamo a la funcion de la DLL que muestra la Form, me da error, pero no se que error, pues se abre el source del proyecto y se coloca en Initialize, pero en la zona de los mensajes no me indica el error. No aparece nada.


¿Puede hacerse esto que quiero en DLLs? y otra cosa: ¿Es conveniente hacerlo?

Todo esto me surge de querer hacer la aplicacion mas liviana y que otra aplicacion que he comenzado las utilice tambien.

Gracias,

Saludos !!! :)

Robert01
15-06-2006, 22:45:38
No está muy claro lo que querés hacer. Si lo que tratas de poner en una dll funciones y procedures, si se puede.

Wonni
15-06-2006, 22:54:26
Si, siguiendo el ejemplo que he comentado, creo un procedure que simplemente muestra un ShowMessage. Este es el codigo:



library midll;

uses
SysUtils,
Classes,
Dialogs;
{$R *.res}

Procedure DllMessage; export;
begin
ShowMessage('HELLO, FROM A DLL :)!!');
end;
Exports DllMessage, VerFormama;

End.

Esto, ya digo lo sacado de un link que hay aqui en el Club.

Pero yo quiero saber si puedo en la DLL hacer referencia, o crear mejor, en la propia DLL Forms y pasarles parametros.

Saludos !! :)

luisgutierrezb
16-06-2006, 15:47:34
mas bien en la dll harias funciones y esas funciones llamarian a las formas, las cuales estarian en otra unidad solo hay que poner su respectivo enlace en el uses y usas una funcion para mandarlas llamar por ejemplo:
Function MuestraForm(titulo:String); export;
begin
Forma.Create(Nil);
try
Forma.Caption := titulo;
... //las demas instrucciones
forma.ShowModal;
finally
Forma.Free;
end;

JXJ
16-06-2006, 18:06:57
Revisa aqui


http://delphi.about.com/library/weekly/aa020805a.htm

Wonni
16-06-2006, 18:26:27
Muchiiiiiiiiiiisimas gracias JXJ :) es justo lo que necesito, esta genial. Solo tengo que distribuir los .bpl

Gracias a tod@s,

saludos !!!