Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

Dll   Найти похожие ветки 

 
Niko.   (2002-06-15 19:07) [0]

Как из библиотеки узнать в каком каталоге она находится. Если брать Paramstr(0) то возвращается полное имя программы, которая запустила эту библиотеку, а мне нужен каталог самой библиотеки.


 
~Rand~ ©   (2002-06-15 22:34) [1]

Удалено модератором


 
Guerrillero Che ©   (2002-06-16 13:21) [2]

Все очень просто,используя ExtractFilePath:
ShowMessage(ExtractFilePath(ParamStr(0)));


 
Набережных С.   (2002-06-16 18:01) [3]

Код в DLL:

function GetModuleFullName(Buff: PChar; var NumChars: integer): bool; stdcall;
var
n:integer;
begin
n:=GetModuleFileName(hInstance,Buff,NumChars-1);
Result:= n > 0;
if Result then
begin
Buff[n+1]:=#0;
NumChars:=n;
end;
end;

Вызов:

var
s:string;
n:integer;
begin
n:=MAX_PATH;
SetLength(s,MAX_PATH);
if GetModuleFullName(@s[1],n) then
ShowMessage(PChar(s))
else
RaiseLastWin32Error;
SetLength(s,0);
end;


 
VID ©   (2002-06-16 18:22) [4]

TO Guerrillero Che: ничего не просто. А если dll находиться в одной папке, а вызывающая её прога в другой ?



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

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
3-88774
mrgrin
2002-06-05 14:39
2002.06.27
Добавление BDE и Paradox в инсталляцию


14-88996
Esu
2002-05-24 12:41
2002.06.27
Тема девушек становится популярной, так что предлагаю


1-88902
voodoo_alex
2002-06-13 21:59
2002.06.27
Как идеологически верней ?


3-88719
John_John
2002-06-03 19:09
2002.06.27
Как записать СОДЕРЖИМОЕ массива в BLOB ?


1-88898
id_privin
2002-06-14 14:56
2002.06.27
Ассоциированные массивы