AddModuleUnloadProc, процедура

Синтаксис


procedure AddModuleUnloadProc(Proc : TModuleUnloadProc);

procedure ВашаПроцедура(HInstsnce: THandle);
begin ... end;
AddModuleUnloadProc(ВашаПроцедура);

Описание

Delphi ведет список пакетов, из которых состоит приложение, Когда Delphi выгружает пакет, вызывается серия процедур выгрузки каждой из которых передается дескриптор экземпляра библиотеки DLL, Программист может добавить собственную процедуру в начало этого списка, передав ее адрес процедуре AddModuleUnloadProc. При завершении приложения Delphi, в том числе, вызовет и пользовательскую процедуру выгрузки исполняемого модуля.

AddModuleUnloadProc - это реальная процедура.

Ошибки

Советы и приемы

Пример


// Графический сервер управляет графическими ресурсами.
// Когда приложение загружает графический ресурс, сервер
// проверяет глубину цвета для ресурса и, если она больше текущей
// глубины цвета дисплея, делает копию графического объекта
// с глубиной цвета дисплея и возвращает ссылку на новый обьект.
// Использование высококачественного алгоритма формирования
// изображения дает лучшие результату, чем встроенный
// алгоритм подбора цветов Windows.
//
// При выгрузке модуля, все его ресурсы освобождаются.
type
PResource = ^TResource; TResource = record
Module: THandle;
Resource: TGraphicsObject;
case Boolean of
True: (Name: PChar;);
False: (ID: Longlnt;);
end;
var
List: TList:
procedure ByeBye(HInstance: THandle);
var
I: Integer;
Resource: PResource;
begin
for I := List.Count-1 downto 0 do begin
Resource := List[I]; if Resource.Module = Hlnstance then begin
List.Delete(I); Resource.Resource.Free; Dispose(Resource); end; end;
end;
initialization
List := TList.Create;
AddModuleUnloadProc(ByeBye);
finalization
RemoveModuleUnloadProc(ByeBye);
FreeAndNil(List); end.

Смотрите также

Процедуры RemoveModuleUnloadProc, UnregisterModule.
    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник




Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: