Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение ресурса файла


***(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 сам в себя писать не будет


Наверх

Титульная страница Поиск, карта сайта Написать письмо