Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как написать DLL... [D5, Win95/98]


DSR ©   (2002-03-06 13:21:00) 

Пытался разобраться с написанием DLL с помощью справки...
Но не работает... ругается постоянно... типа не нашел DLL
и вообще если нашел то не нашел нужную функцию...
Дайте пример написания DLL библиотек на Дельфи и как к ним
обращаться...


Tosov   (2002-03-06 20:00:00) [1]

>типа не нашел DLL
DLL желательно поместить в каталог в виндой (Windows) или в Windows\System или в каталог с программой.

>и вообще если нашел то не нашел нужную функцию
Скорее всего не вынес ее в exports


//DLL:
library mydll;

uses
Windows;

{$R *.res}

function MyFunction1(Param:Integer):Integer;stdcall;
var
V1:Integer;
begin
V1:=2*Param;
Result:=V1;
end;

function MyFunction2(Param:Integer):Integer;
var
V1:Integer;
begin
V1:=2*Param;
Result:=V1;
end;

exports
MyFunction1,MyFunction2;
end.


В программе

interface
...
function MyFunction1(Param:Integer):Integer;stdcall;external "mydll.dll";

function MyFunction2(Param:Integer):Integer;external "mydll.dll";

...

implementation
MyFunction1(10);


SergeySA   (2002-03-06 16:20:00) [2]

Статья конечно хороша. Но не понимаю в чём сложность
Пробывал писать по примеру из справки. Получилось без проблем.
Открываешь File->New->выбираешь DLL.
Затем читай Writing DLLs из справки. Там пример есть.

Вызов примерно так

объвляешь вначале
function MessageBoxMY(HWnd: Integer;
Text, Caption: PChar; Flags: Integer):
Integer; stdcall; external "user32.dll" name "MessageBoxA";

а затем в проц. и ф-циях пишишь
MessageBoxMY(параметры);

А DLL потом закинь в .\windows\system\ там точно все
найдут эту dll.


MBo   (2002-03-06 14:14:00) [3]

статья Кариха на этом сайте


Наверх

Титульная страница Поиск, карта сайта Написать письмо