Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

DLL   Найти похожие ветки 

 
Kyrt ©   (2004-03-03 02:41) [0]

Расскажите, как можно вызвать в программе библиотеку DLL. Если можно на примере. Спасибо.


 
Defunct ©   (2004-03-03 03:06) [1]

Пишем свою DLL, которая предоставляет какие-то функции для исользования в других программах:

library MyLib;

uses
SysUtils,
Classes;

// Какие-то ваши функции
Procedure DoNothing; stdcall;
Begin
End;

Function GetBy(Condidtion:Boolean; X,Y:Integer):Integer; stdcall;
Begin
If Condition Then Result := X
Else Result := Y
End;

Exports
DoNothing, GetBy;

begin
end.


Потом в своей программе подключаем функции из нашей DLL, например так:

Unit Unit1;

...

Inteface

..
Procedure DoNothing; stdcall;External " mylib.dll";
Function GetBy(Condition:Boolean; X,Y:Integer);Integer; stdcall; External " mylib.dll";
Function
..
// и используем подключенные функции, где нужно


 
Германн ©   (2004-03-03 03:35) [2]

2 Defunct © (03.03.04 03:06) [1]
Ну Ё-моё, нигде в сабже не указано о "соглашении о вызовах" в той DLL. Ну при чем тут stdcall!
А "соглашение о вызовах", является главным при вызовах функций из DLL!


 
Defunct ©   (2004-03-03 03:41) [3]

Германн © (03.03.04 03:35) [2]
LOL, Вы мне говорите о соглашении о вызове ;>

http://delphimaster.net/view/1-1078270175/
После "цикла Case" я подумал автор будет рад любому рабочемму примеру взаимодействия с DLL. А про "соглащение о вызовах" он сможет почитать в хелпе, если ему будет интересно.


 
Defunct ©   (2004-03-03 03:53) [4]

btw я считаю пусть автор вопроса привыкает все делать правильно, цитата из help:
while stdcall and safecall are recommended, in general, for calls to external code.

Пусть в неявном виде, но он запомнит выделенные жирным stdcall, и возможно нажмет на них F1.


 
Германн ©   (2004-03-03 05:10) [5]

2 Defunct © (03.03.04 03:53) [4]
Да! Если он пишет DLL.
Но из сабжа это не следует. :(((



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
1-43571
AlexNx
2004-02-27 16:11
2004.03.14
Активность главного меню


14-43776
ИМХО
2004-02-18 14:53
2004.03.14
Описание RFC (на русском)


1-43431
Layner
2004-03-01 09:50
2004.03.14
Как редактировать строки в ListView?


3-43288
tv
2004-02-12 12:24
2004.03.14
Unicode строки в поле типа Memo


1-43489
dr Tr0jan
2004-02-29 13:48
2004.03.14
Передача данных между сервисом и CPL-апплетом