Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1199472258
Васька
2008-01-04 21:44
2008.02.03
Получить все элементы с контролла


15-1198718830
koha overload
2007-12-27 04:27
2008.02.03
Оцените идею


11-1161608565
Barloggg
2006-10-23 17:02
2008.02.03
Как в Word создать таблицу?


15-1198385722
Dust
2007-12-23 07:55
2008.02.03
почему перестал развиваться сайт?


2-1199293276
Первокласник Вася
2008-01-02 20:01
2008.02.03
Как работать с дисками?





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