Вниз
Скачать: CL | DM;

Как получить путь Dll   Найти похожие ветки 

 
sniknik ©   (2002-04-01 10:49) [0]

Для exe-файла понятно можно через Application или ParamStr(0), а если нужен путь до dll? ParamStr(0) дает путь к вызвавшему его процессу (exe) или я ошибаюсь?


 
watcher   (2002-04-01 11:28) [1]

var
s: string;
begin
SetLength(s, 100);
GetModuleFileName(hInstance, s, 100);
...


 
sniknik ©   (2002-04-01 12:16) [2]

Спасибо! Щас запробуем.


 
sniknik ©   (2002-04-01 12:39) [3]

Рано обрадовался. А как hInstance вызывающего процесса получить?


 
paul_shmakov ©   (2002-04-01 12:45) [4]

GetModuleFileName получает hInstance не вызывающего процесса, а самой dll.


 
sniknik ©   (2002-04-01 12:47) [5]

ясно. еще раз спасибо.


 
paul_shmakov ©   (2002-04-01 14:23) [6]

только учтите, что под hInstance имеется ввиду тип HINSTANCE (он же HMODULE), а не глобальная переменная hInstance в delphi-приложении.
borland неудачно эту переменную назвал, т.к. в win32 sdk есть такой тип HINSTANCE. а у borland-а это переменная, а тип они переименовали в HINST.

т.е. нужно передать в GetModuleFileName переменную типа HINST, полученную ранее с помощью LoadLibrary или GetModuleHandle (если GetModuleFileName вызывается из приложения), или сохраненную ранее в функции DllMain (если функция GetModuleFileName вызывается из самой этой dll).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
1-88890
Fiend
2002-06-14 12:29
2002.06.27
messages


1-88786
Янушка
2002-06-16 13:27
2002.06.27
Программа с двумя окнами


1-88848
Boger
2002-06-17 12:03
2002.06.27
Checkboxes и Images в listView несовместимы?!?


1-88894
zeos
2002-06-13 20:21
2002.06.27
Неактивная кнопка в MessageDialog.


3-88703
Yngwar
2002-05-30 20:54
2002.06.27
TClientDataSet




   Наверх