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

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

Изменение ресурсов [D6, WinXP]


DDA ©   (2004-06-23 23:49:00) 

Не подскажите как осуществить следующее :
В ресурсах лежат определённые данные,
в определённый момент нужно перед тем как использовать эти ресурсы кое-что подправить в этих ресурсах

например есть в ресурсах картинка и перед тем как её загрузить в Image нужно её модернизировать?

За ранее спасибо.


DDA   (2004-06-24 23:43:00) [1]


> А где это по-вашему его оригинал, если не в файле?

я имел ввиду в памяти


GuAV   (2004-06-24 22:50:00) [2]


> Надо чтоб оригинал ресурса изменился,а не его копия


> Как я понял она меняет ресурсы только в файле

А где это по-вашему его оригинал, если не в файле?


DDA   (2004-06-24 20:32:00) [3]

Как я понял она меняет ресурсы только в файле
да и работает только помоему под WinNT/2K/XP.


Функция BeginUpdateResource возвращает дескриптор, который может быть использован функцией UpdateResource для добавления, удаления или замены ресурсов в исполняемом файле.

HANDLE BeginUpdateResource(

   LPCTSTR pFileName, // имя файла, в котором будут обновляться ресурсы
   BOOL bDeleteExistingResources // опция удаления
  );

Параметры

pFileName – указатель на завершающуюся нулем строку, которая определяет исполняемый файл, в котором необходимо обновить ресурсы. Приложение должно иметь возможность получить разрешение на запись в файл; оно не может выполняться в этот момент. Если значение pFileName не определяет полный путь, Windows ищет файл в текущей директории.


GuAV   (2004-06-24 15:42:00) [4]


> Надо чтоб оригинал ресурса изменился,а не его копия

UpdateResource + See Also


DDA   (2004-06-24 15:28:00) [5]

Есть в моей проге ресурс,неважно какой - просто последовательность байт

Image я привел только для примера

Например есть функция ,котороя загружает (например)изображение
в Image(моя прога,мой Image,мой ресурс).
я хочу перед этой функцией изменить этот ресурс(подправить последовательность байт),т.е поставить свою функцию перед старой функцией(не важно для чего)
так чтобы старая функция работала и загружала уже изменёный ресурс


> GuAV ©   (24.06.04 00:32) [9]
> как править хочешь?

Как подскажите - так и буду

Надо чтоб оригинал ресурса изменился,а не его копия (если я его в массив загружал бы,или сразу бы загружал в TBitMap и там бы его правил ,а потом в Image копировал)


Германн   (2004-06-24 03:33:00) [6]

2 DDA ©
Уточни задачу.
1. Чей это ресурс?
2. Кто его изменяет?
3. Кто его грузит в Image?


GuAV   (2004-06-24 00:32:00) [7]

как править хочешь? в смысле что надо? HBITMAP? Массив из байт? Загрузи что надо и правь на здоровье. А у TBitmap есть и  Handle и LoadFromStream...


DDA   (2004-06-24 00:16:00) [8]

давайте по существу


GuAV   (2004-06-24 00:14:00) [9]

Да не надо их в памяти править.
RTFM: Resource Functions
а потом можно и править и загрузить например в Image.
хотя имхо править лучше загрузив их в TBitmap, а уже оттуда в Image


jack128   (2004-06-24 00:14:00) [10]

ресурс - это ресурс, а память - это память. Это разные вещи ;-)


DDA   (2004-06-24 00:12:00) [11]

Или может подскажите как узнать адрес ресурса в памяти


DDA   (2004-06-24 00:08:00) [12]

с чем?


jack128   (2004-06-24 00:07:00) [13]


> кое-что подправить в этих ресурсах



> Ну они же уже в памяти помоему


Вы уж определитесь, неформалы(с)


DDA   (2004-06-24 00:01:00) [14]


> Имхо, нужно сначала загрузить, а потом править!

Ну они же уже в памяти помоему
нужно изменить и с помощью стандартных процедур уже загрузить НАПРИМЕР в Image


GuAV   (2004-06-23 23:55:00) [15]


> нужно перед тем как использовать эти ресурсы кое-что подправить
> в этих ресурсах

Имхо, нужно сначала загрузить, а потом править!


Наверх

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