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

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

Динамическая плдгрузка dll-библиотеки [D5, Win95/98]


programmer1 ©   (2001-12-28 22:51:00) 

Уважаемые коллеги, подскажите пожалуйста!
Как правильно динамически подгрузить dll-библиотеку к вызывающей программе. Почему-то следующая запись
Handle := LoadLibrary(Library_File_Name.dll);не срабатывает, то есть Handle присваивается ноль. Библиотека лежит в том же каталоге, что и основная программа. Если кто-нибудь пользовался функцией LoadLibrary, скажите, правильно ли я ее вызвала?
Спасибо!


programmer1   (2002-01-01 22:49:00) [1]

Спасибо, мои хорошие друзья !!!! С вами я не пропаду !!!!
С Новым годом!


skaminski~   (2001-12-29 17:45:00) [2]

Проверь, не есть ли это 16-битная библиотека. Очень часто бывает. И черезе LoadLibrary ты ее не загрузишь, проврь GetLastError.


USAtyj   (2001-12-29 16:17:00) [3]

2Вадим ©
Я как раз имею в виду, что название длл в апострофах должно быть.


Вадим   (2001-12-29 15:22:00) [4]

2USAtyj

Ты считаешь, что без апострофов это дело будет компилироваться?


Andrey   (2001-12-29 14:14:00) [5]

var h: THandle;
s: string;
begin
h:=LoadLibrary("Library_File_Name.dll");
if h>0 then
FreeLibrary(h)
else
begin
SetLength(S, 256);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil,
GetLastError(), 0, PChar(S), Length(S), nil);
ShowMessage(Trim(S));
end;
end;


USAtyj   (2001-12-29 14:05:00) [6]

Апострофы не помешают...

Handle := LoadLibrary( "Library_File_Name.dll ");


petr_v_a   (2001-12-29 13:01:00) [7]

если с путями/названиями точно все нормально, то
Handle объявите как THandle или любой тип, равный LongWord ( беззнаковое 32bit )
Иногда полезно название библиотеки явно привести к pchar


gek   (2001-12-29 09:32:00) [8]

var
HDllIn:THandle;
begin
HDllIn:=0;
HDllIn:=LoadLibrary("Моя библ");//загружаем библиотеку
if HDllIn <> 0 then
begin

.....
Должно работать


Алексей Петров   (2001-12-29 09:24:00) [9]

Проверь GetLastError.


Вадим   (2001-12-28 23:25:00) [10]

Да


Наверх

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