Project1, Unit1:
блок Unit1;
поверхность стыка
пользы
Windows, сообщения, SysUtils, варианты, типы, графики, управление, формы,
Диалоги, StdCtrls;
тип
TForm1 = тип (TForm)
Button1: TButton;
процедура Button1Click (прислужник: TObject);
приватно
{Приватные объявления}
публика
{Общественные объявления}
конец;
var
Form1: TForm1;
вставка
{$R *.dfm}
myDLLFunction функции (szText: PChar): Булевско; stdcall; external «project2.dll»;
процедура TForm1.Button1Click (прислужник: TObject);
var
szText: PChar;
начните
szText: = «некоторый текст»;
если myDLLFunction (szText) после этого
showmessage («ОДОБРЕНН ");
конец;
конец.
=======================
Проект 2, одиночное dpr:
архив Project2;
{Важное примечание о управлении памяти DLL: ShareMem должно быть
первый блок в клаузуле ПОЛЬЗ вашего архива И вашем проекте (отборных
Источник Проект-Взгляда) ИСПОЛЬЗУЕТ клаузулу если ваш DLL ехпортирует любые процедуры или
функции проходят шнуры в параметры или результаты функции. Это
применяет к всем шнурам ым к и от вашего DLL--даже те то
гнездитесь в показателях и типах. ShareMem будет блоком поверхности стыка к
менеджер делят памяти BORLNDMM.DLL, котор, который необходимо раскрыть вперед
с вашим DLL. Для избежания использовать BORLNDMM.DLL, проходите данные по шнура
using параметры PChar или ShortString. }
пользы
SysUtils,
Типы;
{$R *.res}
myDLLFunction функции (szText: PChar): Булевско; stdcall;
начните
Результат: = True;
конец;
экспорты
myDLLFunction;
начните
конец.
|