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.
 
 
 Нет комментариев. 
  
 
Оставить комментарий:
 |   
 |