![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение ресурсов [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]
> нужно перед тем как использовать эти ресурсы кое-что подправить
> в этих ресурсах
Имхо, нужно сначала загрузить, а потом править!