TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

9.2.4. Управление ресурсами

Функция AccessResource. Заголовок:

Function AccessResource(Instance, Reslnfo: THandler): Integer;

Здесь Instance — экземпляр программы (модуля); Reslnfo — дескриптор ресурса.

функция открывает исполняемый файл программы (модуля), заданной дескриптором Instance и перемещает указатель файла на начало нужного ресурса. Дескриптор Reslnfo должен быть предварительно создан с помощью функции FindResource. Возвращает 0, если операция прошла успешно, или — 1, если это не так.

После использования ресурса программа должна закрыть файл с помощью вызова функции _lClose. На практике для доступа к ресурсу чаще используются функции LoadResource и LockResource.

Функция FindResource. Заголовок:

Function FindResource(Instance: THandle;

ResName, ResType: PChar): THandle;

Для экземпляра программы Instance ищет ресурс с именем ResName и типом ResType. Возвращает дескриптор ресурса, если ресурс найден, или О — если не найден. Для указания типа ресурса можно использовать следующие константы-_______________________

 

Константа

Тип ресурса

rtAcselerator

Клавиша быстрого выбора

rtBitMap

Растровое изображение

rt Cursor

Указатель мыши

rt Dialog

Диалоговое окно

rt Font

Шрифт

rt Menu

Меню

rt Icon

Пиктограмма

rtRCData

Ресурс пользователя

rt String

Строковый ресурс


Для защищенного режима доступны только строковые ресурсы и ресурсы пользователя.

В параметрах ResName и ResType могут передаваться ASCIIZ— строки или целочисленные идентификаторы. В последнем случае старшее слово соответствующего параметра должно содержать 0, а младшее — идентификатор. Если текстовая строка начинается символом #, остальная часть строки должна представлять собой правильную форму представления целого числа, которое считается целочисленным идентификатором. Например, строка '#100' означает целочисленный идентификатор 100.

Функция FreeRe source. Заголовок:

Function FreeResource(Resource: THandle): Boolean;

Уменьшает на единицу счетчик ссылок на ресурс, связанный с дескриптором Resource. Если счетчик стал нулевым, выгружает ресурс из памяти.

Функция LoadResource. Заголовок:

Function LoadResource(Instance, Reslnfo: THandle): THandle;

Для экземпляра программы Instance загружает в память ресурс, связанный с дескриптором Reslnfo. Дескриптор должен быть ранее создан с

помощью обращения к FindResource. Каждый вызов LoadResource наращивает на единицу счетчик ссылок ресурса.

Функция LoadStrinq. Заголовок:

Function LoadString(Instance: THandle; ID: Word;

Buffer: PChar; MaxSize: Integer): Integer;

Для экземпляра программы Instance загружает из строкового ресурса в буфер Buffer строку с идентификатором ID. Длина буфера (вместе с терминальным нулем) задается параметром MaxSize. Возвращает длину загруженной строки или 0, если строка не найдена.

Функция LockResource. Заголовок:

Function LockResource(Res: THandler): Pointer;

Фиксирует в памяти ресурс, связанный с дескриптором Res, и возвращает указатель на первый байт ресурса. Каждый вызов функции LockResource увеличивает на единицу счетчик ссылок ресурса, каждый вызов UnlockResource уменьшает на единицу этот счетчик. Ресурс становится перемещаемым и может выгружаться, если его счетчик содержит 0.

Функция SizeOfResource. Заголовок:

Function SizeOfResource(Instance, Res: THandle): LongInt;

Для экземпляра программы Instance возвращает размер ресурса в байтах, связанного с дескриптором Res.

Функция UnlockResource. Заголовок:

Function UnlockResource(Res: THandle): Boolean;

Уменьшает на единицу счетчик ссылок на ресурс, связанный с дескриптором Res. Если счетчик стал нулевым, ресурс может быть выгружен из памяти.

 

Глава 9

Оглавление 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz