![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Dll [D6, WinXP]
Zloy_dima © (2004-10-27 16:12:00)Добрый день. Как можно при обращении к DLL, получить путь в самой DLL, где она лежит? Спасибо.
Reindeer Moss Eater (2004-10-27 16:39:00) [21]При чём тут "забота винды"?
При том.
begin...end (2004-10-27 16:38:00) [22]
> [11] Reindeer Moss Eater © (27.10.04 16:33)
То есть? Перед тем, как использовать подпрограммы из DLL, последнюю нужно загрузить с помощью LoadLibrary. И в качестве параметра Loadlibrary передаётся имя файла этой самой DLL. Так что знать, где она лежит, нужно. Хотя бы для того, чтобы вначале её загрузить. При чём тут "забота винды"?
Reindeer Moss Eater (2004-10-27 16:36:00) [23]Обращаюсь не я...
Я знаю, что не ты, а программа.
И что?
Zloy_dima (2004-10-27 16:35:00) [24]Reindeer Moss Eater: Обращаюсь не я...
Digitman (2004-10-27 16:34:00) [25]
> Zloy_dima
Дима, ты злой.
дурью-то не майся и прислушивайся к контрвопросом, если жаждешь помощи.
Reindeer Moss Eater (2004-10-27 16:33:00) [26]Как же ты к ней "обращаешься", если не знаешь, где она лежит?
Это забота винды.
begin...end (2004-10-27 16:32:00) [27]
> Zloy_dima (27.10.04 16:12)
> Как можно при обращении к DLL, получить путь в самой DLL,
> где она лежит?
Как же ты к ней "обращаешься", если не знаешь, где она лежит?
Digitman (2004-10-27 16:32:00) [28]Дима, золотце ...
Ну нет такого понятия "вызвать DLL" !
Есть понятия "загрузить DLL в адресное пространство текущего процесса" и "вызвать на выполнение одну из экспортируемых функций загруженной DLL" ..
Zloy_dima (2004-10-27 16:32:00) [29]Digitman : Я умные высказывания не просил...
Digitman (2004-10-27 16:29:00) [30]что значит " вызывают" ?
чт за детсад ?
есть понятия "вызывающая подпрограмма" и "вызываемая подпрограмма"
первая выполняет LoadLibrary, получает точку входа (GetProcAddress) в подпрограмму и передает ей управление
вторая - исполняет код, которому передано управление из 1-й
Reindeer Moss Eater (2004-10-27 16:27:00) [31]Нарисуй в dll экспортируемую функцию которая скажет всем где лежит загружаемая DLL
Zloy_dima (2004-10-27 16:26:00) [32]Reindeer Moss Eater: путь где находится Dll, которую вызывают...
Reindeer Moss Eater (2004-10-27 16:24:00) [33]Что за бред
Zloy_dima (2004-10-27 16:22:00) [34]Reindeer: Здесь выдаст путь к модулю который вызывает Dll, а мне нужно путь откуда Dll вызывается...
Reindeer Moss Eater (2004-10-27 16:21:00) [35]function AppFileName: string;
var FileName: array[0..255] of Char;
begin
if IsLibrary then begin
GetModuleFileName(HInstance, FileName, SizeOf(FileName) - 1);
Result := StrPas(FileName);
end
else Result := ParamStr(0);
end;
Digitman (2004-10-27 16:21:00) [36]что значит " приобращении" ?