Главная страница
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.04 c
1-43587
denik
2004-02-27 10:23
2004.03.14
Как избавиться от скролинга в TreeView`e?


3-43380
Delphi5.01
2004-02-14 11:17
2004.03.14
Windows98/2000 дает ошибку,мол не могу создать Delphi Tabase Engi


3-43356
Gerakl
2004-02-16 10:55
2004.03.14
ADO


1-43534
AGN
2004-03-04 09:23
2004.03.14
Зацикливаем TControl


14-43820
Alex Konshin
2004-02-21 23:10
2004.03.14
Средний класс в Америке