TURBO PASCAL |
Новости
|
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. Возвращает дескриптор ресурса, если ресурс найден, или О — если не найден. Для указания типа ресурса можно использовать следующие константы-_______________________
Для защищенного режима доступны только строковые ресурсы и ресурсы пользователя. В параметрах 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. Если счетчик стал нулевым, ресурс может быть выгружен из памяти. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |