Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];
ВнизДобавить в exe другой exe и потом его извлечь Найти похожие ветки
← →
Артем (2008-01-11 12:27) [0]Добрый день!
Помогите решить такую задачку, которая передо мной встала, советами или ссылочками, если уже была рассмотрена подобная тема.
1. Приложение №1 должно записать в Приложение №2 файл другого формата (например, dat или INI)
2. После чего Приложение №2 должно извлечь записанный в него файл.
Как это организовать?
Заранее очень признателен за помощь.
← →
Сергей М. © (2008-01-11 12:30) [1]
> Как это организовать?
Записать - см. BeginUpdateResource + UpdateResource + EndUpdateResource
Извлечь - см., например, TResourceStream
← →
clickmaker © (2008-01-11 12:32) [2]UpdateResource / LoadResource
← →
Артем (2008-01-11 12:45) [3]Спасибо.
Но это ведь работает в случае, если речь идет об исполняемом файле.
У меня же получается, что основная программа (№1) должна добавить данные в ресурсы другой программы (№2).
Как обратиться к №2 и использовать BeginUpdateResource + UpdateResource + EndUpdateResource?
← →
Сергей М. © (2008-01-11 12:49) [4]
> это ведь работает в случае, если речь идет об исполняемом
> файле
О нем речь как раз и идет - образ программы №2 хранится в исполняемом файле.
> Как обратиться к №2 и использовать BeginUpdateResource +
> UpdateResource + EndUpdateResource?
>
Справку к упомянутым ф-циям ты уже проштудировал ? Что тебе там непонятно ?
← →
Артем (2008-01-11 12:55) [5]Штудирую сейчас. Если не разберусь в чем-то, то напишу. Спасибо.
← →
Артем (2008-01-11 13:18) [6]И тут же вопрос по делу: а если у пользователя 98-ая винда???
Работать-то не будет ведь...
Что делать?
← →
Плохиш © (2008-01-11 13:29) [7]
> Артем (11.01.08 13:18) [6]
> Что делать?
> 1. Приложение №1 должно записать в Приложение №2 файл другого
> формата (например, dat или INI)
> 2. После чего Приложение №2 должно извлечь записанный в
> него файл.
Почему бы не использовать обычные файлы сохраняемые на диске, обязатеьно надо их куда-то запихивать? А потом спрашивают "Что делать?"...
← →
Сергей М. © (2008-01-11 13:32) [8]
> Работать-то не будет ведь
Чтой-то вдруг ?
← →
Правильный_Вася (2008-01-11 13:34) [9]эпидемия какая-то
← →
Артем (2008-01-11 13:47) [10]
> Почему бы не использовать обычные файлы сохраняемые на диске,
> обязатеьно надо их куда-то запихивать? А потом спрашивают
> "Что делать?"...
Да, обязательно, потому как это программка для регулярного перемещения из одного компьютера в другой. Не хотелось бы заставлять пользователя "таскать" с собой еще кучу файлов, без которых exe-шник не работает...
> Чтой-то вдруг ?
вычитал, что работает только под NT и выше.
← →
clickmaker © (2008-01-11 13:49) [11]
> программка для регулярного перемещения из одного компьютера
> в другой
сетевой червь? :) тогда, конечно, пользователя заставлять не надо
← →
Сергей М. © (2008-01-11 13:57) [12]
> Не хотелось бы заставлять пользователя "таскать" с собой
> еще кучу файлов, без которых exe-шник не работает
На то существует технология генерации и использования инсталляционых дистрибутивов, которыне в комплекте поставки могут содержать в т.ч. всего один исп.файл.
> вычитал, что работает только под NT и выше
Плохо читал.
Ф-ции эти представлены в т.ч. и в ядре Маздая.
Проблема только в поддержке Юникода, решается она установкой слоя оной поддержки. Мелкомягкие для этого предрагают соотв.инструмент. Нахаляву. Ничто не мешает инсталлировать его на маздайной машине перед применением упомянутого алгоритма.
← →
Артем (2008-01-11 14:15) [13]
> На то существует технология генерации и использования инсталляционых
> дистрибутивов, которыне в комплекте поставки могут содержать
> в т.ч. всего один исп.файл.
В моем случае данный вариант не уместен. Нужно, чтобы был один файл и никуда не денешься. Но проблема не в этом.
> Проблема только в поддержке Юникода, решается она установкой
> слоя оной поддержки. Мелкомягкие для этого предрагают соотв.
> инструмент.
Где об этом почитать?
← →
Сергей М. © (2008-01-11 14:27) [14]
> Где об этом почитать?
>
Известно где - в Гугле)
http://www.google.ru/search?q=MS+Unicode+Layer&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a
>
> В моем случае данный вариант не уместен
Чтой-то вдруг ?
Генеришь инст.дистрибутив из одного-единственного исп.файл и тащишь его к любому клиенту - клиент запускает его и инсталлирует все необходимые файлы в комлекте поставки.
← →
Артем (2008-01-11 14:43) [15]
> Генеришь инст.дистрибутив из одного-единственного исп.файл
> и тащишь его к любому клиенту - клиент запускает его и инсталлирует
> все необходимые файлы в комлекте поставки.
Нет, не то. Объясню. У меня такая ситуация. Тут в цепочке 3 звена:
1. Я - разработчик
2. Пользователь - мастер, который задает необходимые параметры в основной программе
3. Конечный пользователь
Основная программа вытаскивает из своего ресурса готовый exe-шник, генерирует несколько файлов во время исполнения основной программы (параметры задаются пользователем-мастером). Этот exe и юзается конечным пользователем.
Т.е. у меня на выходе exe и еще один файл - они предназначены для конечного пользователя. Для удобства пользования я хочу зашить этот "еще один файл" в exe (или в ресурс exe) и потом к нему обращаться.
Инсталлятор в моем случае не привычен и нафиг не нужен :) Конечному пользователю надо скачать этот exe из инета, например, и запустить. И все.
← →
Артем (2008-01-11 14:46) [16]И еще. Тот самый "еще один файл" дает указания готовому exe-шнику как ему вести (в нем все настройки, приложения и т.д.).
Вот такой вот конструктор :)
← →
Артем (2008-01-11 14:59) [17]
> http://www.google.ru/search?q=MS+Unicode+Layer&ie=utf-8&oe=utf-
> 8&aq=t&rls=org.mozilla:ru:official&client=firefox-a
Скачал unicows.exe. Я правильно понял: надо его зашить в ресурс exe-шника для конечного пользователя, в случае если у него на Win98, то извлечь из ресурса и запустить установку. Что потом? Просто установка решает проблему?
← →
Сергей М. © (2008-01-11 15:17) [18]
> Т.е. у меня на выходе exe и еще один файл
А в этой "цепочке" ты КТО ?)
← →
Артем (2008-01-11 15:20) [19]Имел ввиду у "пользователя-мастера"
← →
Сергей М. © (2008-01-11 15:22) [20]Я пока не понял, чем "пользователь-мастер" отличается от "пользователя-подмастерья")..
← →
Артем (2008-01-11 15:28) [21]Объясняю. Пользователь-мастер с помощью основной программы (приложение №1) генерирует необходимые настройки для приложения №2.
Конечному пользователю доступно только приложение №2, а пользователю-мастеру - оба (и №1 и №2).
← →
Артем (2008-01-11 15:34) [22]Не могу понять как и где присоединять unicows.dll к проекту?
Читаю здесь - http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx
← →
Сергей М. © (2008-01-11 15:38) [23]
> Артем (11.01.08 15:28) [21]
"Мастеру" ты поставляешь дистрибутив ?
← →
Артем (2008-01-11 15:38) [24]да
← →
Артем (2008-01-11 15:38) [25]да
← →
Сергей М. © (2008-01-11 15:39) [26]Описывай состав дистрибутива ..
← →
Anatoly Podgoretsky © (2008-01-11 15:39) [27]> Плохиш (11.01.2008 13:29:07) [7]
Файлы ценные, вдруг пользователь ламер и не сможет их извлечить из реестра
Второе предположение - автор мазохист
← →
Anatoly Podgoretsky © (2008-01-11 15:40) [28]> Артем (11.01.2008 13:47:10) [10]
Ой а они очень тяжелые, пользователь надорвется, не сможет дотащить.
← →
Артем (2008-01-11 15:46) [29]
> Ой а они очень тяжелые, пользователь надорвется, не сможет
> дотащить.
Не удобно. Например, чтобы перенести и прочитать Word-файл не нужно вместе с DOC перетаскивать все картинки, которые там использованы, специальные настройки для этого документа и так далее.
Ну это для примера. У меня проще.
> Файлы ценные, вдруг пользователь ламер и не сможет их извлечить
> из реестра
Не о реестре речь.
> Описывай состав дистрибутива ..
Мы правильно друг друга поняли: описать что выполняет второй exe-шник?
← →
Dennis I. Komarov © (2008-01-11 15:46) [30]Меняй логику и не извращайся!
← →
Артем (2008-01-11 15:48) [31]
> Меняй логику и не извращайся!
Подскажешь на какую ее сменить? :)
← →
Сергей М. © (2008-01-11 16:05) [32]Ты дистрибутив кому пгоставляешь - суперпупер-юзеру или просто юзеру ?)
← →
Dennis I. Komarov © (2008-01-11 16:13) [33]> [31] Артем (11.01.08 15:48)
Да откуда я знаю какие еще тараканы у тебя в голове...
Например юзай лицензионный ключ в котором будет зашифровано что можно, а что низя юзеру
← →
Артем (2008-01-11 16:13) [34]на суперпупер-юзерской машине генерируются настройки с помощью основной программы
простой юзер получает один exe, который был сгенерирован на суперпупер-юзерской машине с помощью основной программы.
Так понятно теперь? :)
← →
Артем (2008-01-11 16:24) [35]еще раз, возможно, повторюсь:
в моем проекте всего 2 exe-файла.
первый - сохраняет настройки, выполняет необходимые основные операции и т.д., после чего вытаскивает из себя заранее приготовленный exe (№2), а также генерирует файл типа IStorage
второй (№2) - "понимает", что было сделано первым за счет сгенерированного файла (типа IStorage)
Мне нужно, чтобы этот сгенерированный файл (типа IStorage) зашивался к второму exe-шнику и он ((exe-шник)) его мог извлекать.
← →
Dennis I. Komarov © (2008-01-11 16:31) [36]> [35] Артем (11.01.08 16:24)
- Делаешь ехе который при первом запуске делает все что тебе надо для юзера.
- Делаешь ехе которуй генерит IStorage согласно манипуляиям супер-юзера (а вообще я бы возложил эту обязанность на тебя. Это и будет лиц. ключем)
- На какого IStorage зашивать в exe - я так и не понял...
← →
Dib@zol © (2008-01-11 16:33) [37]> [35] Артем (11.01.08 16:24)
> еще раз, возможно, повторюсь:
>
> в моем проекте всего 2 exe-файла.
> первый - сохраняет настройки, выполняет необходимые основные
> операции и т.д., после чего вытаскивает из себя заранее
> приготовленный exe (№2), а также генерирует файл типа IStorage
>
> второй (№2) - "понимает", что было сделано первым за счет
> сгенерированного файла (типа IStorage)
>
> Мне нужно, чтобы этот сгенерированный файл (типа IStorage)
> зашивался к второму exe-шнику и он ((exe-шник)) его мог
> извлекать.
А теперь, внимание вопрос: А зачем извлекать, а не поставлять сразу 2 екзешника? Или просто не извращаться и запихнуть весь исполняемый код в один проект и откомпилировать заново???
← →
Артем (2008-01-11 16:41) [38]
> Dennis I. Komarov © (11.01.08 16:31) [36]
Дело в том, что основная программа предназначена для регулярного использования для генерации различных данных IStorage.
Данные IStorage хранятся в файле с расширением stg, например.
Основная программа копирует из себя второй exe-шник (например, file.exe) и сгенерированный файл abcd.stg (к примеру) в папку C:\proekt\
В данном раскладе, если удалить или переместить abcd.stg, то file.exe не загрузится в нужном виде.
А предъявлять к конечному пользователю требования "типа не удаляйте из папки файл abcd.stg и не записывайте в нее больше никаких файлов с расширением .stg" - этого делать не хочется. Все должно быть просто. Такая задача.
← →
Артем (2008-01-11 16:44) [39]
> А теперь, внимание вопрос: А зачем извлекать, а не поставлять
> сразу 2 екзешника?
По очень простой причине:
основная программа - это программный продукт, который стоит денег
программы, которые были созданы с помощью этого продукта бесплатны и доступны с любой машины любому конечному пользователю
← →
Dennis I. Komarov © (2008-01-11 16:52) [40]> А предъявлять к конечному пользователю требования "типа
> не удаляйте из папки файл abcd.stg и не записывайте в нее
> больше никаких файлов с расширением .stg" - этого делать
> не хочется. Все должно быть просто. Такая задача.
Это не задача а бред. Что значит разрешить удалять файл настроек? Разве не бред?
Я не вижу ничего такого, что мешало бы тебе сделать все это согласно [36]
Есть юзер-софт - который работает согласно настройкам
Есть Админ-софт - который генерирует эти настройки
Все остальное - это твои извращения - явно не здоровые.
← →
Dennis I. Komarov © (2008-01-11 16:53) [41]> [39] Артем (11.01.08 16:44)
И на этом ты еще хочешь заработать........ :(
← →
Сергей М. © (2008-01-11 16:55) [42]
> Артем
> основная программа - это программный продукт
Ты его КАК распространяешь, чудо ?)
← →
Артем (2008-01-11 17:02) [43]
> Dennis I. Komarov
Я сюда пришел не для того, чтобы обсудить задачу, а для того, чтобы ее решить. Поэтому, если кому-то это кажется бредом, то нам не о чем говорить.
Если есть решения моей задачи, то прошу помочь.
Повторяю основной вопрос [22], на котором мы остановились:
Не могу понять как и где присоединять unicows.dll к проекту, и как это использовать?
Читаю здесь - http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx
===============
С BeginUpdateResource + UpdateResource + EndUpdateResource - с этим разберусь. Этот путь меня устраивает. К тому же есть возможность предварительно зашить в ресурс пустой файл, который будет заменяться на необходимый (на сгенерированный "abcd.stg")
← →
Артем (2008-01-11 17:02) [44]
> Ты его КАК распространяешь, чудо ?)
не понял вопроса. ты что имеешь ввиду?
← →
Сергей М. © (2008-01-11 17:10) [45]
> Артем (11.01.08 17:02) [44]
> что имеешь ввиду?
Ты в каком "файлоорганизационном" виде доставляешь потребителю свои "шедевры" ?
← →
Артем (2008-01-11 17:12) [46]
> Сергей М
Один exe-файл
← →
Сергей М. © (2008-01-11 17:14) [47]
> Артем (11.01.08 17:12) [46]
Ты его, этот самый "Один exe-файл", КОМУ поставляешь ?
← →
Артем (2008-01-11 17:24) [48]Блин, еще раз :)
Пользователя ДВА
Один "мастер-пользователь". У него этот программный продукт. В этом программном продукте к ресурсу прицеплен другой exe-файл. "Мастер-пользователь" с помощью этого программного продукта вносит свои данные, эти данные записываются в файл типа IStorage, плюс из программного продукта извлекается второй exe-шник (тот самый, который в ресурсе лежит изначально).
Все это дело, 2 файла (exe и IStorage) копируются в папку т.н. "нового проекта".
"Конечный пользователь" получает от "мастера-пользователя" вышитый exe-файл, который работает на основе созданного "мастер-пользователем" IStorage-файл.
ВАЖНО: у конечного пользователя нет основной программы, которой был создан IStorage-файл. Поэтому его exe-файл обращается к IStorage-файлу, получает необходимые данные и преобразовывает приложение на основе этих данных.
← →
Dib@zol © (2008-01-11 17:27) [49]> По очень простой причине:
> основная программа - это программный продукт, который стоит
> денег
> программы, которые были созданы с помощью этого продукта
> бесплатны и доступны с любой машины любому конечному пользователю
Хм. И что с того??? Нахрена паковать, ты так и не объяснил... Более того, любой юзер свободно сможет эту твою "стоящую денег" извлекаемую прогу скопировать себе во время работы. И тут уже мало что поможет. Тем более, почему никто не сказал, что на такой мягко говоря ректальный алгоритм не будет ругаться антивирь?
← →
Dib@zol © (2008-01-11 17:28) [50]> Блин, еще раз :)
>
> Пользователя ДВА
>
> Один "мастер-пользователь". У него этот программный продукт.
> В этом программном продукте к ресурсу прицеплен другой exe-
> файл. "Мастер-пользователь" с помощью этого программного
> продукта вносит свои данные, эти данные записываются в файл
> типа IStorage, плюс из программного продукта извлекается
> второй exe-шник (тот самый, который в ресурсе лежит изначально)
> .
> Все это дело, 2 файла (exe и IStorage) копируются в папку
> т.н. "нового проекта".
>
> "Конечный пользователь" получает от "мастера-пользователя"
> вышитый exe-файл, который работает на основе созданного
> "мастер-пользователем" IStorage-файл.
>
> ВАЖНО: у конечного пользователя нет основной программы,
> которой был создан IStorage-файл. Поэтому его exe-файл обращается
> к IStorage-файлу, получает необходимые данные и преобразовывает
> приложение на основе этих данных.
А тогда почему бы мастер-пользователю не получить-таки две проги сразу отдельно? Какие-то религиозные соображения? :)
← →
Артем (2008-01-11 17:33) [51]
> А тогда почему бы мастер-пользователю не получить-таки две
> проги сразу отдельно?
Он их и получает. Просто один зашит в другую (прицеплен к ресурсу).
Сложно объяснять "на пальцах", поэтому такие недоуменя возникают...
>Более того, любой юзер свободно сможет эту твою "стоящую
> денег" извлекаемую прогу скопировать себе во время работы
НЕЕЕТ! Не может! Так как это не основная программа, а ее отделенная часть.
Это как в авиастроении :) Модуль отсоединяется от корабля. Имея управление модулем, ты никак не можешь получить доступ к управлению кораблем.
← →
Dib@zol © (2008-01-11 17:54) [52]> Он их и получает. Просто один зашит в другую (прицеплен
> к ресурсу).
Что он их получает, мы уже поняли. А можно нескромный вопрос: какова ЦЕЛЬ такого подхода?
← →
Dennis I. Komarov © (2008-01-11 18:09) [53]Не хотел бы попасть к хирургу, который апендицит через анус извлекает, да еще вилкой :)
← →
Сергей М. © (2008-01-11 19:30) [54]
> Блин, еще раз :)Пользователя ДВА
Угу
И ты в своем инсталляционном шедевре спрашиваешь у пользователя, мол, ты кто долбаный ты пользователь - номер один ты или номер ты два \\)))
← →
Артем (2008-01-11 21:13) [55]Тебе 105-ый раз повторяю. Слушай сюда еще раз:
"Мастер-пользователь" генерит у себя на компьютере программы (html WebBrowser по большей части). Это делает программа №1, эта же программа вынимает из себя заранее подготовленную программу №2 и говорит "вот этот файл вручайте своим клиентам".
Понимаешь? Или еще раз объяснить?
Но проблема в том, что вместе с "этим" файлом есть еще файл типа Istorage. Вот его желательно зашить в exe, который буде исполняться на машине другого пользователя - конечного пользователя.
Неужели со 150-ого раза не понятна разница между "конечным пользователем" и "мастер-пользователем"??? :)))
← →
Артем (2008-01-11 21:17) [56]Господа, включите мозг. Я уже устал повторять одно и то же :)
Либо Вы не знаете как это сделать (тогда признайтесь и не занимайтесь флудом), либо придется еще раз повторить, кто хоть немного въехал в задачу.
← →
Dib@zol © (2008-01-11 21:19) [57]Со 150-го раза не понятно, зачем это делается. Такая, так сказать, компоновка очень сильно восстановит против вашей проги все имеющиеся на компе антивирусы. И если какие-то могут и спросить, что делать с этим подозрительным ехе-шником - карантинить или удалять, то другие потрут его сразу. Надеюсь, ЭТО доходчиво?
и ЗАЧЕМ, ну З А Ч Е М уталкивать всё в один файл? Чтобы создать впечатление, что извлечённый екзешник был только что скомпилирован Вашей программой? ИМХО, не стоит.
← →
Артем (2008-01-11 21:26) [58]Можно екзешник не запихивать. Не в этом вопрос.
Вопрос в том, как в него запихнуть скомпилированный файл типа ISorage?
← →
Сергей М. © (2008-01-11 21:27) [59]
> Артем (11.01.08 21:13) [55]
> файл типа Istorage
Опа, приехали.
Istorage - исполняемый, а я - Папа римский.
← →
Dib@zol © (2008-01-11 21:30) [60]Сам включи. И слушай.
Сначала пропиши в ресурсный файл №1 свою мега супер прогу №2.
Затем пиши распаковщик в своей проге №1:
1) С помощью Find/LoadResource получай указатель на первый байт образа проги из ресов.
2) Создавай новый файл CreateFile"ом.
3) Прописывай в него SizeOfResource байт твоей проги №2.
4) Закрывай файл.
Вуаля.
← →
Артем (2008-01-11 21:31) [61]
> Istorage - исполняемый, а я - Папа римский.
Приехали. Давай еще раз раз такая пьянка. Исполняемых EXE-файла ДВА штуки. ДВА и только два. Еще раз повторяю: exe два штуки.
Файл типа abc.stg (IStroge) - один. Всего один.
Еще раз: Файл типа abc.stg (IStroge) - один
Его необходимо зашить во второй екзешник и сделать это из первого екзешника.
← →
Сергей М. © (2008-01-11 21:33) [62]
> Артем (11.01.08 21:26) [58]
Тёма, золотце, "пихать" не надо - оно опасно).. сломается)
см. [1]
ссылка на Маздай за отмазку не канается.
← →
Dib@zol © (2008-01-11 21:36) [63]О боже. Ну нахрена зашивать то? Нахрена??? Нахрена??? ааааа
/me Бьётся головой апстол
ЗЫ В общем, горбатого могила исправит. Ищи в справке, в этих функциях всё предельно просто.
BeginUpdateResource + UpdateResource + EndUpdateResource.
← →
Артем (2008-01-11 21:36) [64]
> Сначала пропиши в ресурсный файл №1 свою мега супер прогу
> №2.
> Затем пиши распаковщик в своей проге №1:
> 1) С помощью Find/LoadResource получай указатель на первый
> байт образа проги из ресов.
> 2) Создавай новый файл CreateFile"ом.
> 3) Прописывай в него SizeOfResource байт твоей проги №2.
>
> 4) Закрывай файл.
Как вышить из проги №1 прогу №2 - это без проблем. Это делается вот так:function ExtractRes(ResType, ResName, ResNewName: string): Boolean;
var
Res: TResourceStream;
begin
Result := False;
Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
try
Res.SavetoFile(ResNewName);
Result := True;
finally
Res.Free;
end;
end;
И все. Речь (еще раз, еще много-много раз) идет о другом:
как из проги №1 пришить к проге №2 файл типа IStorage, чтобы потом прогой №2 же можно было его вынуть и считать.
← →
Сергей М. © (2008-01-11 21:39) [65]
> stg ...зашить
> во .. екзе...
сравниваем с
> в exe другой exe
Гониво)
← →
Артем (2008-01-11 21:40) [66]
> Ищи в справке, в этих функциях всё предельно просто.
> BeginUpdateResource + UpdateResource + EndUpdateResource.
>
Я с этим разберусь.
Основной вопрос, который не решен, с остальными справлюсь:
Не могу понять как и где присоединять unicows.dll к проекту?
Читаю здесь - http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx
← →
Артем (2008-01-11 21:41) [67]
> > в exe другой exe
>
>
> Гониво)
Я не правильно задал название темы топика, а изменить его не могу.
← →
Сергей М. © (2008-01-11 21:43) [68]
> как из проги №1 пришить к проге №2 файл типа IStorage
Да точно так же как и файл типа IХренаже.
Ты тупой или где ?)
В ресурсе типа RT_RCDATA ты волен держать хоть ИСтораже, хоть ИХренаже хоть ЧЕРТА ЛЫСОГО)
← →
Артем (2008-01-11 21:46) [69]
> Сергей М. © (11.01.08 21:43) [68]
Я уже с этим разобрался. Народ, ну ё-моё, о другом ведь уже спрашиваю начиная с [17]
← →
Dib@zol © (2008-01-11 21:47) [70]> [66] Артем (11.01.08 21:40)
> Не могу понять как и где присоединять unicows.dll к проекту?
> Читаю здесь - http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx
Охх. Грехи мои тяжкие. Надо просто реализовать динамический вызов функций из етой ДЛЛки, и ТАСКАТЬ ЕЁ С ПРОГОЙ, ЗАШИВАТЬ ЕЁ ТУДА НЕЛЬЗЯ!!! В принципе, вообще-то, возможно всё. Но это будет "способ через Ж$@У"...
← →
Артем (2008-01-11 21:49) [71]
> В ресурсе типа RT_RCDATA ты волен держать хоть ИСтораже
Я прекрасно это понял. См. [5] и [6]
Все, чем после этого мы занимались - так это обсуждали мою задачу - хорошая она или плохая, нахрена или как и т.д.
← →
Сергей М. © (2008-01-11 21:50) [72]
> Артем (11.01.08 21:46) [69]
Ну и что тебе, птыть, не понятно ?
Шьешь эту мелкомягкую байду в инст.дистрибутив, в ходе инсталляции стартуешь ее - она реализует нужный слой, после чего проблемы с юникодом в ресурсах исчезают.
← →
Артем (2008-01-11 21:51) [73]Т.е. вот это дело BeginUpdateResource + UpdateResource + EndUpdateResource мне надо обяъвить в своем приложении, обращаясь к ДЛЛ (для этого она должна лежать вместе с прогой при компиляции).
Все правильно?
← →
Артем (2008-01-11 21:53) [74]
> в ходе инсталляции стартуешь ее
Вот здесь вот давайте задержимся на 1 минуту и больше у меня вопросов нет:
мне нужно, чтобы эта хрень мелкомягкая запускалась на компе пользователя?
← →
Dib@zol © (2008-01-11 21:57) [75]> Вот здесь вот давайте задержимся на 1 минуту и больше у меня вопросов нет:
> мне нужно, чтобы эта хрень мелкомягкая запускалась на компе пользователя?
пц. Чёрт с тобой. пришивай эту ДЛЛ к проге №1, при запуске инсталлятора распаковывай её, вызывай из неё нужные функции посредством LoadLibrary и GetProcAddress, запускай их, и обновляй ресы. ФСЁ!
← →
Артем (2008-01-11 21:58) [76]Кстати, по поводу вот этого:
> Ты тупой или где ?)
Во-первых, давайте без оскорблений. Кому надо - выходите на улицу и бейти морду прохожим. Здесь не то место.
А второе - нет, не я тупой, раз приходится в 20 вариациях объяснять одно и то же.
← →
Сергей М. © (2008-01-11 21:59) [77]
> нужно, чтобы эта хрень мелкомягкая запускалась
У мелкомягких есть соотв. инструкция по запуску этой хрени.
← →
Артем (2008-01-11 22:01) [78]
> пц. Чёрт с тобой. пришивай эту ДЛЛ к проге №1, при запуске
> инсталлятора распаковывай её, вызывай из неё нужные функции
> посредством LoadLibrary и GetProcAddress, запускай их, и
> обновляй ресы. ФСЁ!
А скомпилировать сразу и один раз? Только один вариант: каждый раз вынимать и вызывать необходимые функции?
← →
Артем (2008-01-11 22:02) [79]
> У мелкомягких есть соотв. инструкция по запуску этой хрени.
твою дивизию, я спрашиваю, т.к. не могу разобраться. если не знаешь - не надо.
← →
Сергей М. © (2008-01-11 22:05) [80]
> Артем (11.01.08 21:58) [76]
Ну извиняй, барин)
Ты в чистом поле нашел пенёк и решил во что бы то ни стало снести его собственной башкой, вместо того чтобы обойти его стороной)
← →
Dib@zol © (2008-01-11 22:05) [81]> А скомпилировать сразу и один раз? Только один вариант:
> каждый раз вынимать и вызывать необходимые функции?
а у тебя есть другие варианты? Если да, то забудь их и действуй как только что сказал.
← →
Сергей М. © (2008-01-11 22:06) [82]
> не могу разобраться
Цитируй то в чем не разобрался - помогу ..
← →
Dib@zol © (2008-01-11 22:07) [83]> Ты в чистом поле нашел пенёк и решил во что бы то ни стало
> снести его собственной башкой, вместо того чтобы обойти
> его стороной)
+10 =)
А мы тебе вовсю его подушками обкладываем, чтоб побольше от башки осталось :))
← →
Артем (2008-01-11 22:31) [84]
> Цитируй то в чем не разобрался - помогу ..
Артем (11.01.08 21:51) [73]
Т.е. вот это дело BeginUpdateResource + UpdateResource + EndUpdateResource мне надо объявить в своем приложении, обращаясь к ДЛЛ (для этого она должна лежать вместе с прогой при компиляции).
Т.е. мне надо один раз скомпилировать приложение и ДЛЛ никуда не пришивать?
← →
Сергей М. © (2008-01-11 23:03) [85]
> один раз скомпилировать приложение
Какое конкретно ?
ты как минимум о двух заявил ..
> ДЛЛ никуда не пришивать
Какую ? unicows что ли ?
Она нужна только на целевой маздайной машине для обеспечения успешной и корректной работы упомянутых выше функций.
← →
Dib@zol © (2008-01-11 23:08) [86]Пляха Муха. Ты вообще адекватен? А ещё нам втолковывал, что мы тут фсе дебилы поголовно.
ВНИМАНИЕ!
Нужно засунуть в ресурсный файл к инсталлятору твою прогу №2, затем написать распаковщик (как это сделать - уже по самое нехочу разжевали), а когда придёт время распаковывать П№2 из себя, надо подгрузить из ДЛЛки, лежащей В ОДНОЙ ПАПКЕ с инсталлятором, нужные функции (как - опять же объяснено!), а только ЗАТЕМ пихать в П№2 твой тот самый IStorage через UpdateResource. Теперь, надеюсь, ясно?
← →
Артем (2008-01-12 02:59) [87]
> уже по самое нехочу разжевали
Алё, гараж, см. [64]
По-моему, это я привел свой код.
Мне тут ничего не разжовывали, а обсуждали поставленную задача - нафига оно так надо. Ну надо - значит надо.
Все, что мне было надо - это вот эти посты: [85], [14] и [1]
← →
Артем (2008-01-12 03:02) [88]Удалено модератором
← →
Артем (2008-01-12 03:06) [89]Удалено модератором
← →
Артем (2008-01-12 03:41) [90]Удалено модератором
Примечание: Отсюда увольняешься ты
← →
__!ERIX_ (2008-01-12 08:37) [91]скачай компонент делфовский)
по-моему называется filestorage
← →
__!ERIX_ (2008-01-12 08:39) [92]www.appcontrols.com
← →
palva © (2008-01-12 09:40) [93]
> Артем (11.01.08 22:31) [84]
Ты объясняешься на каком-то своем птичьем языке, поэтому тебя трудно понять.
← →
Dib@zol © (2008-01-12 11:05) [94]2Артём
Не сомневайся: то, что я ещё не закончил школу, не помешает мне справиться с твоей задачей намного лучше тебя. Я ближе к вечеру даже напишу прогу, чтоб это тебе наглядно продемонстрировать. А помогать впредь не буду. Ибо себе дороже метать бисер перед свиньями. Тем более всё объяснено. Разжёвано и в рот положено. А ты начинаешь хамить.
ЗЫ Тебе, судя по симптомам, нужны не наши с Сергеем, !ERIX"ом, и palva советы, и даже не медикаменты, а полный терморектальный криптоанализ.
Страницы: 1 2 3 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];
Память: 0.71 MB
Время: 0.051 c