Главная страница
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.026 c
1-43492
HydraMarat
2004-02-27 14:47
2004.03.14
Для чего нужен dispinterface?


4-43941
Songoku
2004-01-07 01:34
2004.03.14
Диалог.


8-43688
Klon
2003-11-11 12:01
2004.03.14
*.bmp в другие форматы.


6-43710
samalex
2004-01-08 13:46
2004.03.14
Пересылка данных типа TStringList через сокеты


1-43463
i-s-v
2004-02-16 22:34
2004.03.14
Вопрос по контекстному меню.