Главная страница
    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.014 c
3-1132562149
diwww
2005-11-21 11:35
2006.01.15
Как обновлять базу после установки галочки?


2-1135536022
Vasek
2005-12-25 21:40
2006.01.15
как связаться с базой МСАссес?


14-1134594311
(CHALING 32)S K i N E R
2005-12-15 00:05
2006.01.15
Голосовой чат по сети!


14-1135262887
BFG9k
2005-12-22 17:48
2006.01.15
Обьясните механизм извлечения dcu файла из пакета


2-1135458889
User9
2005-12-25 00: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
Английский Французский Немецкий Итальянский Португальский Русский Испанский