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

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

LoadLibrary [D5, Win95/98]


OpoloXAI ©   (2003-01-30 14:12:00) 

Добрый день.
Помогите разобраться:
DllHandle:=LoadLibrary("MyDll.dll");
ShowMessage(IntToStr(DllHandle));
Finally FreeLibrary(DllHandle);
{сама Dll расположена в директории с исполняемым файлом}
Если запускаю из-под Delphi, то нормально определяеся Handle и всё работает нормально, но если я запускаю это приложение из-под Windows{Far}, то всегда возвращается Handle=0. Почему?
Заранее спасибо.


Cancel   (2003-01-30 14:38:00) [1]

>>надо, чтобы DLL лежала в папке, к которой есть PATH или в >>начало программы надо добавить:
>>
>>SetCurrentDir(ExtractFilePath(Application.ExeName));
>>
>>должно работать...

- CurrentDir может поменяться после вызова например диалога сохранения или открытия файла.



Cancel   (2003-01-30 14:27:00) [2]

DLLFileName:= ExtractFilePath(ParamStr(0)) + "MyDll.dll";
DllHandle:=LoadLibrary(PChar(DLLFileName));
ShowMessage(IntToStr(DllHandle));
if DllHandle > 0 then
try
.....
finally
FreeLibrary(DllHandle);
end;


anbezr   (2003-01-30 14:26:00) [3]

надо, чтобы DLL лежала в папке, к которой есть PATH или в начало программы надо добавить:

SetCurrentDir(ExtractFilePath(Application.ExeName));

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


REA   (2003-01-30 14:24:00) [4]

Надежнее конечно полный путь прописать или кинуть DLL в System.


han_malign   (2003-01-30 14:21:00) [5]

GetLastError...


Наверх

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