Вниз
Скачать: 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.028 c
14-1103720355
Kerk
2004-12-22 15:59
2005.01.16
Я плакал!


1-1104144168
lexis
2004-12-27 13:42
2005.01.16
Нужен хитрый chart


1-1104284473
Wood
2004-12-29 04:41
2005.01.16
Пока выполняется процесс.


1-1104277153
Евгений2
2004-12-29 02:39
2005.01.16
Можно ли ВООБЩЕ данный участок кода сделать проще: без copy, val?


14-1103879678
Кудесник
2004-12-24 12:14
2005.01.16
Лечится или нет?




   Наверх