![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическая плдгрузка 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]Да