Вверх ↑
Этот топик читают: Гость
Ответов: 578
Рейтинг: 14
#1: 2010-03-22 12:23:35 ЛС | профиль | цитата
Добрый день, хочу попробовать сделать инсталятор, но не могу обьеденить данные из потока (добавляемые файлы) и данные из memorystream (собственно сам инсталятор), раньше вроде так же делал и все работало, а тут не могу разобраться, подскажите в чем проблема
code_17450.txt
карма: 0

0
файлы: 1code_17450.txt [1.1KB] [182]
Разработчик
Ответов: 26164
Рейтинг: 2127
#2: 2010-03-22 12:26:12 ЛС | профиль | цитата
Поставь режим ReadWrite, тогда будет добавлен второй файл в конец первого
карма: 22

0
Ответов: 578
Рейтинг: 14
#3: 2010-03-22 12:40:38 ЛС | профиль | цитата
поставил ReadWrite, сохраняется только файл из memorystream, ощущение что DataToFile не сохраняет данные в поток, dtAnsiString правильный режим для дозаписи входящего потока с позиции
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#4: 2010-03-22 12:45:12 ЛС | профиль | цитата
GanjaKyp, а вот так не пробовал



Add(MainForm,2953706,231,133)
{
}
Add(FileStream,16466122,231,203)
{
link(onLoad,27859:doConvert,[])
}
Add(FormatStr,3497970,350,203)
{
DataCount=1
Mask="AFA%1AFA"
link(onFString,3932451:doConvert,[])
}
Add(Stream2Hex,27859,280,203)
{
link(onResult,3497970:doString,[])
}
Add(Stream2Hex,3932451,399,203)
{
Mode=1
link(onResult,8460030:doCopyFromStream,[])
}
Add(FileStream,8460030,469,189)
{
Mode=2
AutoCopy=0
Point(doCopyFromStream)
link(FileName,6054048:Var2,[])
}
Add(Edit,8264088,469,126)
{
Left=5
Top=130
Width=195
Text="result.exe"
}
Add(GetDataEx,6054048,469,168)
{
link(Data,8264088:Text,[])
}

карма: 22

0
Ответов: 578
Рейтинг: 14
#5: 2010-03-22 12:49:29 ЛС | профиль | цитата
пробовал, но желательно чтобы инсталятор хранился в memorystream, а не внешним файлом
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#6: 2010-03-22 12:52:33 ЛС | профиль | цитата
А еще вот так не пробовал



Add(MainForm,2953706,231,133)
{
}
Add(FileStream,16466122,231,203)
{
link(onLoad,27859:doConvert,[])
}
Add(FormatStr,3497970,350,203)
{
DataCount=1
Mask="AFA%1AFA"
link(onFString,3932451:doConvert,[])
}
Add(Stream2Hex,27859,280,203)
{
link(onResult,3497970:doString,[])
}
Add(Stream2Hex,3932451,399,203)
{
Mode=1
link(onResult,4981765:doEvent1,[])
}
Add(FileStream,8460030,616,287)
{
Mode=2
AutoCopy=0
Point(doCopyFromStream)
link(FileName,6054048:Var2,[])
}
Add(Edit,8264088,616,224)
{
Left=5
Top=130
Width=195
Text="result.exe"
}
Add(GetDataEx,6054048,616,266)
{
link(Data,8264088:Text,[])
}
Add(MemoryStream,492620,560,203)
{
Point(doPosition)
}
Add(Hub,4981765,455,203)
{
OutCount=3
link(onEvent1,492620:doCopy,[])
link(onEvent2,9598281:doData,[(487,216)(487,223)])
link(onEvent3,14612687:doData,[(481,223)(481,307)])
}
Add(DoData,9598281,504,217)
{
Data=Integer(0)
link(onEventData,492620:doPosition,[])
}
Add(DoData,14612687,560,301)
{
link(onEventData,8460030:doCopyFromStream,[])
link(Data,492620:Stream,[])
}

карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#7: 2010-03-22 12:59:18 ЛС | профиль | цитата
GanjaKyp, ну что ты паришься? Если надо все по первому разряду, зайди в тему Между делом ->InstallCreator от меня, там все есть
карма: 10
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#8: 2010-03-22 13:01:40 ЛС | профиль | цитата
Assasin писал(а):
Если надо все по первому разряду, зайди в тему Между делом ->InstallCreator от меня, там все есть

А если чел хочет все сам сделать, с нуля
карма: 22

0
Ответов: 578
Рейтинг: 14
#9: 2010-03-22 13:02:02 ЛС | профиль | цитата
nesco писал(а):
А еще вот так не пробовал

немного не то структура result.exe должна быть примерно такой: инсталятор[files]%1файл#2файл#3файл[files] при запуске инсталятор читает все с [files] по [files] потом через str_enum # сохрянет каждый файл по отдельности

до этого у меня отлично получалось делать так как в примере, даже схема не изменилась, но работать почему то перестала
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#10: 2010-03-22 13:06:18 ЛС | профиль | цитата
GanjaKyp, сейчас ты пишишь уже про разъединение, а не соединение
------------ Дoбавленo в 13.09:
Assasin, а ты лучше предложить не смог, где там у тебя сама схема, одни *.exe, и кому они нужны без схемы. Те., где файл installer0.8.rar, о котором пишут, нет его в аттачах. Ты же написал
Assasin писал(а):
Dilma, простите, забыл, что схема сырая, видимо по привычке в схемы выложил. В следующий раз буду думать в схемы ли ложить

Я ее и там не нашел, и где она
карма: 22

0
Ответов: 578
Рейтинг: 14
#11: 2010-03-22 13:16:54 ЛС | профиль | цитата
я вообще принцып работы описал в чем может быть ошибка в схеме из первого поста? раньше ведь норм работало

Assasin, классно получилось, я как раз про сжатие думал
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#12: 2010-03-22 13:21:34 ЛС | профиль | цитата
nesco писал(а):
Я ее и там не нашел, и где она

А это что
------------ Дoбавленo в 13.22:
В нем exe, НО, exe который "установит", или просто распакует файлы в выбранную тобой директорию СХЕМЫ, это сделано для демонстрации возможностей
карма: 10
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#13: 2010-03-22 13:25:00 ЛС | профиль | цитата
Хм, а че не отдельно
А если файл окажется с вирусом Не серьезно это. Ну не хочу я ничего распаковывать, я хочу просто посмотреть схему
карма: 22

0
Ответов: 578
Рейтинг: 14
#14: 2010-03-22 13:27:08 ЛС | профиль | цитата
а нельзя ли изменить MemoryStream чтобы doCopy производилось с установленной позиции, а не с 0
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#15: 2010-03-22 13:36:02 ЛС | профиль | цитата
А почему бы вот так не сделать?
code_17453.txt
карма: 10
0
файлы: 1code_17453.txt [358B] [144]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)