Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизApplication.Exename в DLL Найти похожие ветки
← →
SHS (2004-05-01 09:06) [0]Имя исполняемого файла могу узнать через Application.Exename, как узнать это для своей DLL? Знаю что можно через GetModuleFilename, ещё есть варианты?
← →
Kerk © (2004-05-01 11:14) [1]Чем GetModuleFileName не устраивает?
← →
SHS (2004-05-01 13:44) [2]Kerk, странная у тебя манера, вопросом на вопрос отвечать... Ну, ладно, GetModuleFilename меня полностью устраивает, а теперь посмотри на мой вопрос и ответь, если знаешь.
P.S. Меня интересует, делается ли это только через WinAPI или также можно средствами Delphi?
← →
Юрий Зотов © (2004-05-01 15:32) [3]> SHS
Можно и средствами Delphi, только собственный Application в DLL надо подменить на Application из EXE. Для этого в DLL пишем:
var
OldApp: TApplication;
procedure ReplaceApp(App: TApplication);
begin
OldApp := Application;
Application := App
end;
procedure RestoreApp;
begin
Application := OldApp
end;
И теперь сразу после загрузки DLL надо вызвать:
ReplaceApp(Application)
а перед выгрузкой - RestoreApp.
← →
default © (2004-05-01 20:19) [4]нет, только через Win32 API
ParamStr(0), TApplication.ExeName используют GetModuleFileName
поэтому код с GetModuleFileName(HInstance, ...) самый быстрый...
← →
Palladin © (2004-05-01 20:34) [5]
> SHS (01.05.04 13:44) [2]
Ну а все таки чем?
← →
Юрий Зотов © (2004-05-01 22:39) [6]> default © (01.05.04 20:19) [4]
Так все-таки: "только" или "самый быстрый"? Это же разные вещи.
:о)
← →
Dimaxx © (2004-05-01 23:15) [7]Не парься и вызывай GetModuleFileName
← →
SHS (2004-05-02 12:02) [8]> Palladin © (01.05.04 20:34) [5]
Да просто я использовал для DLL:
iFile: array[0..MAX_PATH + 2] of char;
GetModuleFileName(hInstance, iFile, MAX_PATH);
А вот это для EXE:
ChangeFileExt(Application.ExeName, ".ini");
У меня возник вопрос, есть ли что-нибудь подобное для DLL.
Спросил для общего развития, чтобы знать наверняка.
Всем огромное спасибо за разъяснения, с уважением
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c