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