Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Aplicación que haga uso de una dll (https://www.clubdelphi.com/foros/showthread.php?t=49745)

kakarotv5 29-10-2007 13:14:02

Aplicación que haga uso de una dll
 
Yo quiero hacer un programa que en vez de usar una unit (.pas) use una dll.

¿Cómo hago para indicar a la aplicación que debe de buscar las funciones y procedimientos en determinada dll?

Saludos.

Lepe 29-10-2007 14:41:00

Primero tendrás que crear la dll (si ya está creada, pasa al siguiente punto) Desde Delphi, File -> y busca por ahí ;). No te olvides de exportar las funciones que te interese (veasé la palabra reservada export).

Ahora en tu programa tendrás que crear un enlace con esa dll, mira en el windows.pas donde podrás ver muchos ejemplos de cómo se hace con la API de windows (busca dentro del archivo por "stdcall"), allí indicas el procedimiento y en qué dll está:

Código Delphi [-]
function GetKernelObjectSecurity; external advapi32 name 'GetKernelObjectSecurity';

advapi32 será el nombre de tu dll.

Saludos

jorllazo 29-10-2007 16:36:53

Hola, tambien puedes hacerlo de la siguiente manera.
Código Delphi [-]
 
var
  obj: OleVariant;
  
begin
  obj := CreateOleObject('nombre.libreria'); // por ejemplo "scripting.runtime"
  obj.Propiedad1 := dksajslk;                                        
  obj.Metodo1;
  obj.Metodo2;

la dll la deberas tener en el directorio de la aplicacion o en el Win32 o cualquier otro dir que este en el path de tu PC

Habras de saber de antemano los nombres de las propiedades y metodos.

Espero haber sido de ayuda.

ah y recuerda el "uses comobj "

ixMike 29-10-2007 20:27:34

Si quieres saber algo más sobre el uso de dlls, aquí tienes unos cuantos hilos interesantes, en donde aprendí mucho sobre el uso de DLLs. Tienen mucho código para explicarse (y te lo digo yo, que fui quien lo escribió en gran parte).

http://www.clubdelphi.com/foros/showthread.php?t=34433
http://www.clubdelphi.com/foros/showthread.php?t=33802
http://www.clubdelphi.com/foros/showthread.php?t=33103

Me parece que algunos se enlazan entre ellos.

Espero que te sean de ayuda. Saludos.


La franja horaria es GMT +2. Ahora son las 22:41:52.

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