Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Добавить в 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;
Скачать: CL | DM;

Наверх




Память: 0.74 MB
Время: 0.03 c
5-1166288613
Aleksandr
2006-12-16 20:03
2008.02.03
Создание свойства нового компонента


6-1179421883
maker
2007-05-17 21:11
2008.02.03
Запросы принимаемые CGI


15-1198883081
No_Dead
2007-12-29 02:04
2008.02.03
НГ на носу&#133 А будете ли вы в нем что либо менять?


2-1199471551
vegarulez
2008-01-04 21:32
2008.02.03
про sql (access). Как селектом выбрать Limit 10 или first 10...


15-1198841892
user_
2007-12-28 14:38
2008.02.03
Поржом чуть чуть...???