![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение ресурса файла
***(H@kker)*** © (2006-06-15 20:14:00)Доброго времени суток, господа программеры!
Есть задача : при компиляции заношу в ресурс ехешника некоторый текс. Затем во время выполнения проги достаю его.
Так вот вопрос, как перезаписать этот ресурс другим текстом во время выполнения проги.
Пишу следующий текст:
var
s : TStringList;
rs: TResourceStream;
begin
s := TStringList.Create;
rs := TResourceStream.CreateFromID(HInstance, 2, RT_RCDATA);
try
s.Add(edit1.Text);
s.SaveToStream(rs);
finally
rs.Free;
s.Free;
end;
Выдает ошибку "Can't write to read-only resource stream"
Помогите плиз!!!
Заранее благодарен.
novill (2006-06-16 11:20:00) [1]
> ***(H@kker)***
плюс к выше сказанному. Зачем вам именно ресурсами пользоваться? Есть много дргуих удобных мест.
evvcom (2006-06-16 10:58:00) [2]> но я в этой теме начинающий!
А какого ж ..... ты в основную пишешь? Есть же спец.конфа, так и называется "начинающим"!
Deka (2006-06-16 10:55:00) [3]А если второго файла не избежать, так может хранить ресурсы отдельно от исполняемого файла? В DLL с ресурсами например. Правда не знаю, можно ли в DLL упаковать ресурсы и менять их там потом, но думаю что можно.
Сергей М. (2006-06-16 09:17:00) [4]
> ***(H@kker)*** © (15.06.06 20:59) [4]
Та самая "другая" программа может воспользоваться ф-циями BeginUpdateResource, UpdateResource, EndUpdateResource.
Почитай справку по этим ф-циям.
***(H@kker)*** (2006-06-15 20:59:00) [5]Это хорошо, но я в этой теме начинающий! Не могли бы Вы рассказать как изменять EXE используя другую программу!! Я о таком даже не слишал!!:-)
Desdechado (2006-06-15 20:47:00) [6]можно
например:
запускать другую программу, которой передавать нужные параметры, завершаться, а та программа будет изменять EXE и перестартовать его, завершаясь сама
***(H@kker)*** (2006-06-15 20:38:00) [7]И что, совсем ничего нельзя придумать???
Desdechado (2006-06-15 20:32:00) [8]exe сам в себя писать не будет