Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   DLL con delphi (https://www.clubdelphi.com/foros/showthread.php?t=79704)

Jose Roman 01-08-2012 22:35:29

DLL con delphi
 
Hola a todos,

Apenas estoy incursionando con las DLL y he encontrado un ejemplo de lo que necesito, este me dice que despues de realizar la DLL debo declarla asi:
Código Delphi [-]
var   Form1: TForm1;

implementation

{$R *.dfm}

function Mensajes (I: Integer):String; stdcall external 'CLDRes.dll';

Me gustaria saber como declarar esta funcion pero no para todo el formulario, mas bien solo para el procedimiento que lo requiera como por ejemplo:

Código Delphi [-]
procedure GrabarDatos(Sender : TObject);
  function Mensajes (I: Integer):String; stdcall external 'CLDRes.dll';
begin
...
end;
Realizado con esto me genera un error:
Invalid compiler directive: EXTERNAL

No se si se puede esto o si tengo un error, Gracias de antemano.

luisgutierrezb 02-08-2012 02:35:25

Tienes que declarar la función en la unidad, seria que quedara de modo global, me imagino que quieres hacerlo dentro de tu procedimiento para liberarla en cuanto termine, para esos casos, tendrias que usar loadlibrary y freelibrary aqui puedes encontrar como usar el loadlibrary...

Neftali [Germán.Estévez] 02-08-2012 09:19:46

Cita:

Empezado por Jose Roman (Mensaje 438651)
Me gustaria saber como declarar esta función pero no para todo el formulario

La declaración viene definida por la sintaxis del lenguaje.
En este link, por si te sirve, tienes algunos ejemplos de DLL's y alguno de BPL's (carga dinámica y carga estática) por si decids seguir la recomendación de [luisgutierrezb].

Jose Roman 02-08-2012 15:32:15

Muchas gracias a todos por esta informacion me ha sido util

Jose Roman 03-08-2012 19:45:47

Me disculpan por tanta molestia, pero saben tambien como hacer en forma dinamica con un formulario????

Neftali [Germán.Estévez] 06-08-2012 10:12:35

Cita:

Empezado por Jose Roman (Mensaje 438804)
Me disculpan por tanta molestia, pero saben tambien como hacer en forma dinamica con un formulario????

No es molestia, los foros están para preguntar, pero deberías explicarte mejor; Yo personalmente no entiendo lo que preguntas...

Jose Roman 06-08-2012 17:43:31

Gracias Neftali por contestar, te comento:
Ahora deseo agregar un cuadro de dialogo personalizado a mi aplicacion, pero este cuadro lo deseo en una DLL y ademas de eso que se cargue de forma dinamica en el procedimiento, cargando y liberando la DLL (como lo indico amablemente luisgutierrezb), he hecho unos intentos y algo me dio el problema me da en que la ventana queda aparte de la aplicacion (aparece otra ventana en la barra de tareas), lastimosamente el enlace donde se encontraba la solucion a esto en este foro ya caduco y ahi no se que hacer. Gracias de antemano la ayuda y si no es molestia tenerme paciencia porque en realidad apenas estoy ensayando esto de las DLL y no se mucho de estos y de otros aspectos.

PD: Trate de enviarte una imagen pero me no me la aceptaba para ser mas claro del problema que me dio

Neftali [Germán.Estévez] 07-08-2012 08:38:00

Entonces la carga sí te funciona, por lo que entiendo
¿Puedes enviar el código que utilizas para visualizar el formulario?


La franja horaria es GMT +2. Ahora son las 23:04:52.

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