Project1, Unit1:
unidad Unit1;
interfaz
aplicaciones
Windows, mensajes, SysUtils, variantes, clases, gráficos, controles, formas,
Diálogos, StdCtrls;
tipo
TForm1 = clase (TForm)
Button1: TButton;
procedimiento Button1Click (remitente: TObject);
privado
{Declaraciones privadas}
público
{Declaraciones públicas}
extremo;
var
Form1: TForm1;
puesta en práctica
{$R *.dfm}
myDLLFunction de la función (szText: PChar): Boleano; stdcall; external “project2.dll”;
procedimiento TForm1.Button1Click (remitente: TObject);
var
szText: PChar;
comenzar
szText: = “un poco de texto”;
si myDLLFunction (szText) entonces
showmessage (“ACEPTABLE ");
extremo;
extremo.
=======================
Proyecto 2, solo dpr:
biblioteca Project2;
{Nota importante sobre la gerencia de memoria del DLL: ShareMem debe ser
primera unidad en la cláusula de las APLICACIONES de su biblioteca Y su proyecto (selectos
La fuente de la Proyecto-Vista) UTILIZA cláusula si su DLL exporta cualesquiera procedimientos o
funciones que pasan secuencias como parámetros o resultados de la función. Esto
se aplica a todas las secuencias pasajeras a y desde su DLL--incluso ésos eso
se jerarquizan en expedientes y clases. ShareMem es la unidad de interfaz a
el encargado de la memoria compartida de BORLNDMM.DLL, que debe ser desplegado adelante
con su DLL. Para evitar usar BORLNDMM.DLL, pasar la información de la secuencia
usar los parámetros de PChar o de ShortString. }
aplicaciones
SysUtils,
Clases;
{$R *.res}
myDLLFunction de la función (szText: PChar): Boleano; stdcall;
comenzar
Resultado: = verdad;
extremo;
exportaciones
myDLLFunction;
comenzar
extremo.
|