Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка програми для автоматизації роботи кардіоцентру

Реферат Розробка програми для автоматизації роботи кардіоцентру





stdc all;

ReceiveCloseNotify; stdcall;. ProcessMessages; (Form1.Handle, WM_DLLUNLOAD, 0,0);;

TForm1.WMDLLUnload (var Message: TMessage);. ProcessMessages; FHLib> HINSTANCE_ERROR then FreeLibrary (FHLIB);: = 0; ('Library unloaded');;

TForm1.Button3Click (Sender: TObject);: TDynNonmodal; FHLIB <= HInstance_Error then FHLib: = LoadLibrary ('NMDyn1.dll'); FHLib> HInstance_Error then begin: = GetProcAddress (FHLib, 'DynNonmodal '); Assigned (DM) then DM (Application.Handle, @ ReceiveCloseNotify);

end;;

Очевидно, що код виходить досить громіздким: у головному додатку необхідно реалізовувати три методи замість одного. Альтернативний варіант можна запропонувати виходячи з того, що в DLL мається об'єкт TApplication, який може підтримувати цикл вибірки повідомлень. Але в DLL не можна створити форму, використовуючи метод TApplication. CreateForm, так як відповідна закладка діалогу Project/Options/Forms відсутній у проектах Delphi 4 і 5 і неактивна в Delphi 3. Однак можна викликати всі методи об'єкта Tapplication, вручну дописавши відповідний код в DLL:


procedure ShowNMApplication; stdcall; export; Assigned (Form1) then begin. Show;; else begin. Initialize;. CreateForm (TForm1, Form1);. Run;. Free;: = nil;;;


Слід звернути увагу, що дескриптор головного додатки не присвоюється в даному проекті дескриптору TApplication в DLL. Це реально призводить до появи двох піктограм на панелі додатків. Правда, в деяких випадках це корисно - так легше дістатися до перекритих вікон. Цікаво відзначити, що в Delphi 3 після написання даного коду стають доступними елементи керування діалогу Project/Options/Forms, де можна визначити автоматично створювані форми і головну форму додатку. Код головного додатки, використовує дану DLL, такий:


type

TShowApp = procedure; stdcall;


procedure TForm1.Button4Click (Sender: TObject);: THandle;: TShowApp;: = LoadLibrary ('NMDyn2.dll'); HLib> HINSTANCE_ERROR then begin: = GetProcAddress (HLib, 'ShowNMApplication') ; Assigned (ShowApp) then ShowApp;. ProcessMessages; (HLib);;;


На відміну від попереднього прикладу, динамічне завантаження DLL і її вивантаження здійснюються в одному методі, та й обсяг написаного коду істотно менше.

Висновок


За допомогою динамічно завантажуваних бібліотек можна оптимізувати ресурси, необхідні для виконання додатків; використовувати у проектах модулі, написані на різних мовах програмування; створювати проекти, які можуть мати необов'язкові функції і пункти меню. Виклик методів з DLL не представляє труднощів, за винятком того, що слід звертати особливу увагу на виняткові ситуації: не допускати попад...


Назад | сторінка 11 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Анексія Криму, як можна вірішіті Конфлікт України с Россией чі можна его ві ...
  • Реферат на тему: Коли працювати можна менше ...
  • Реферат на тему: Розробка тестового додатку "Компоненти меню Delphi"
  • Реферат на тему: Шизофренія. Лікувати, не можна хворіти
  • Реферат на тему: Опісові композіційно-мовленнєві форми в творах Т. Прохаська &З цього можна ...