Консультация № 16839
10.02.2005, 06:07
0.00 руб.
0 3 3
Уважаемые эксперты.
Подскажите что я делаю неправильно.Пытаюсь подключить DLL к проекту следующим образом
function init_dev():integer;external ‘ds.dll‘;
procedure TForm1.Button1Click(Sender: TObject);
begin
init_dev();
end;
При запуске пишет что не найдена точка входа в dll, что это значит? Под Vbasic все работает.
С уважением Антон.

Обсуждение

давно
Мастер-Эксперт
425
4118
10.02.2005, 06:26
общий
это ответ
Здравствуйте, антон!
Вы забыли указать самое главное - под каким именем (или с каким индексом) эта функция располагается в DLL‘ке. :)
function init_dev():integer;external ‘ds.dll‘ name ‘name_of_procedure_in_dll‘;
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
10.02.2005, 11:29
общий
это ответ
Здравствуйте, антон!
А там наверное stdcall , те это будет InitDevA/InitDevW
Кстати, а посмотреть экспорт что слабо?
Неизвестный
11.02.2005, 08:49
общий
это ответ
Здравствуйте, антон!
Попробуй динамически загружать библиотеку. Пример в приложении.

Приложение:
procedure TForm1.Button1Click(Sender: TObject);var Handle: LongWord; func: function (): integer;begin Handle := LoadLibrary( ‘ds.dll‘ ); if Handle <> 0 then begin @func := GetProcAddress( Handle, ‘init_dev()‘ ); end; func(); FreeLibrary( Handle );end;
Форма ответа