Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов из DLL [D7, WinXP]


Jay1982 ©   (2004-12-27 16:16:00) 

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

interface

procedure Sleep(ms: LongWord); stdcall;

implementation

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

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


Fay   (2004-12-27 16:46:00) [1]

А, понятно.


Jay1982   (2004-12-27 16:43:00) [2]

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


Jay1982   (2004-12-27 16:41:00) [3]

Написал так

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

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


Fay   (2004-12-27 16:40:00) [4]

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


Jay1982   (2004-12-27 16:39:00) [5]

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


Sandman25   (2004-12-27 16:32:00) [6]

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

external + F1


Jay1982   (2004-12-27 16:31:00) [7]

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


Sandman25   (2004-12-27 16:26:00) [8]

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


Jay1982   (2004-12-27 16:24:00) [9]

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


Sandman25   (2004-12-27 16:19:00) [10]

LoadLibrary


Наверх

Титульная страница Поиск, карта сайта Написать письмо