Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
oleggar ©   (2005-12-23 13:10) [0]

Я пытаюсь компонентом Fakedll вставить внутрь своего Exe файла unrar.dll и unarj.dll и уже понял ,что меня ожидает много работы ,чтоб все вызовы функций  из реальных dll переключить на fakedll  .Кто-то это делал реально ?Может,есть компоненты,более удобные ?


 
Digitman ©   (2005-12-23 13:17) [1]

если ты дурью маешься, то ей ты и маешься)

а если НЕТ, то поясни свою глубокогениальную идею что-то там куда-то там противоестественно засунуть ..


 
oleggar ©   (2005-12-23 15:16) [2]

я хочу ,чтоб 2 dll ,которые использует мое приложение ,находились внутри exe файла .я это уже сделал ,но код из-за несовершенства компонента громоздко выглядит ,вот и хочу узнать ,можно и делать это попроще .


 
Johnmen ©   (2005-12-23 15:45) [3]

>.я это уже сделал ,

Как, если не секрет?


 
Джо ©   (2005-12-23 15:57) [4]

А зачем вся эта надуманная возня? Какая причина сподвигает на это?


 
ancara ©   (2005-12-23 17:16) [5]

Есть предположенике, что автор использует своим приложением эти библиотеки для распаковки чего-то там, но не хочет таскать три файла, а хочет чтоб был один. Если так, то логично будет поместить их в ресурсы. Извлекать перед началом распаковки и удалять по завершении. А насчет громозкозти я что-то не понял.


 
Digitman ©   (2005-12-23 17:31) [6]

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


 
ancara ©   (2005-12-23 17:32) [7]

а в ресурсы добавить можно например так
 создаем файл 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:35) [8]

Удалено модератором
Примечание: Именно


 
oleggar ©   (2005-12-23 20:52) [9]

как сделал-с помощью той же Fakedll  ,но пока одной из двух ,и долго трудиться пришлось .А не хотел сохранять DLL на диск только потому ,что там стоит NTFS и у приложения нет прав писать что-то даже в свой каталог .Да и пользователи удивляются ,откуда эти DLL взялись .Хотя как худшее решение я давно делаю это самое procedure ExtractDLL;и еще ...нервирует то ,что когда запускаешь приложение на другой машине ,оно везде "рожает" рядом эти DLL ..тоже неприятно .



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

Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.016 c
6-1128514703
pazitron_brain
2005-10-05 16:18
2006.01.15
IntraWeb в Delphi


14-1135249941
ilya39
2005-12-22 14:12
2006.01.15
Отладка в VS.Net 2003


14-1134737802
Dngt
2005-12-16 15:56
2006.01.15
Из двличной в десятичную


2-1135256872
Dysan
2005-12-22 16:07
2006.01.15
помогите разобраться!


2-1135271682
nirvana
2005-12-22 20:14
2006.01.15
Запись значений класса в файл.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский