Вниз
Скачать: CL | DM;

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

 
Jay1982 ©   (2004-12-27 16:16) [0]

Как не используя юнит вытянуть функцию/процедуру из ДЛЛ, в юните делаю так:

interface

procedure Sleep(ms: LongWord); stdcall;

implementation

procedure Sleep; external "kernel32.dll" name "Sleep";

всё работает, но для этого надо создавать дополнительный юнит


 
Sandman25 ©   (2004-12-27 16:19) [1]

LoadLibrary


 
Jay1982 ©   (2004-12-27 16:24) [2]

Об этом я тоже вкурсе, думал может макаром описанным мною выше как-то можно


 
Sandman25 ©   (2004-12-27 16:26) [3]

Можно написать procedure Sleep; external "kernel32.dll" name "Sleep"; прямо перед вызовом, тогда дополнительный модуль не понадобится


 
Jay1982 ©   (2004-12-27 16:31) [4]

Но в этом случае процедуре не передаются параметры


 
Sandman25 ©   (2004-12-27 16:32) [5]

procedure Sleep(ms: LongWord); stdcall; external "kernel32.dll" name "Sleep";

external + F1


 
Jay1982 ©   (2004-12-27 16:39) [6]

Так вроде писал но вместо задержки указаной в милисекундах получилась вечная задержка


 
Fay ©   (2004-12-27 16:40) [7]

Ошибка в 17-й строке


 
Jay1982 ©   (2004-12-27 16:41) [8]

Написал так

procedure Sleep(ms: Cardinal); stdcall; external "kernel32.dll" name "Sleep";

Всё работает, спасибо за советы


 
Jay1982 ©   (2004-12-27 16:43) [9]

2 Sandman25 - Видимо что-то пропускал;
2 Fay - я писал всего одну, а не 17


 
Fay ©   (2004-12-27 16:46) [10]

А, понятно.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
14-1104061294
syte_ser78
2004-12-26 14:41
2005.01.16
Похмелье


3-1102622483
serko
2004-12-09 23:01
2005.01.16
DBGridEh


10-1080657973
Timego
2004-03-30 18:46
2005.01.16
Delphi & COM: How to Do Singleton Com-server?


6-1098386375
Comp
2004-10-21 23:19
2005.01.16
Контроль трафика


1-1104212600
avtolik
2004-12-28 08:43
2005.01.16
dll c точкой входа для DllRegisterServer




   Наверх