![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
fakedll [D6]
oleggar © (2005-12-23 13:10:00)Я пытаюсь компонентом Fakedll вставить внутрь своего Exe файла unrar.dll и unarj.dll и уже понял ,что меня ожидает много работы ,чтоб все вызовы функций из реальных dll переключить на fakedll .Кто-то это делал реально ?Может,есть компоненты,более удобные ?
oleggar (2005-12-23 20:52:00) [1]как сделал-с помощью той же Fakedll ,но пока одной из двух ,и долго трудиться пришлось .А не хотел сохранять DLL на диск только потому ,что там стоит NTFS и у приложения нет прав писать что-то даже в свой каталог .Да и пользователи удивляются ,откуда эти DLL взялись .Хотя как худшее решение я давно делаю это самое procedure ExtractDLL;и еще ...нервирует то ,что когда запускаешь приложение на другой машине ,оно везде "рожает" рядом эти DLL ..тоже неприятно .
Digitman (2005-12-23 17:35:00) [2]Удалено модератором
Примечание: Именно
ancara (2005-12-23 17:32:00) [3]а в ресурсы добавить можно например так
создаем файлmyres.rc
в нем пишем
UNRARDLL BIN_DATA unrar.dll
UNARJDLL BIN_DATA unarj.dll
затем добавляем его в проект, написав в файле *.dpr
{$R 'myres.res' 'myres.rc'}
и билдим, exe-шник раздувается, dll в него помещаются,
затем извлекаем:
procedure ExtractDLL;
var
Res: TResourceStream;
begin
Res:=TResourceStream.Create(HInstance, 'UNRARDLL', 'BINDATA');
Res.SaveToFile('unrar.dll');
Res.Free;
Res:=TResourceStream.Create(HInstance, 'UNARJDLL', 'BINDATA');
Res.SaveToFile('unarj.dll');
Res.Free;
end;
Digitman (2005-12-23 17:31:00) [4]Удалено модератором
ancara (2005-12-23 17:16:00) [5]Есть предположенике, что автор использует своим приложением эти библиотеки для распаковки чего-то там, но не хочет таскать три файла, а хочет чтоб был один. Если так, то логично будет поместить их в ресурсы. Извлекать перед началом распаковки и удалять по завершении. А насчет громозкозти я что-то не понял.
Джо (2005-12-23 15:57:00) [6]А зачем вся эта надуманная возня? Какая причина сподвигает на это?
Johnmen (2005-12-23 15:45:00) [7]>.я это уже сделал ,
Как, если не секрет?
oleggar (2005-12-23 15:16:00) [8]я хочу ,чтоб 2 dll ,которые использует мое приложение ,находились внутри exe файла .я это уже сделал ,но код из-за несовершенства компонента громоздко выглядит ,вот и хочу узнать ,можно и делать это попроще .
Digitman (2005-12-23 13:17:00) [9]если ты дурью маешься, то ей ты и маешься)
а если НЕТ, то поясни свою глубокогениальную идею что-то там куда-то там противоестественно засунуть ..