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

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





сті викликати метод об'єкта слід враховувати, що даний метод об'єкта характеризується двома адресами - адресою методу й адресою даних. Отже, необхідно передавати два покажчика. Але замість передачі двох покажчиків можна скористатися структурою TMethod, визначеної в модулі SysUtils.pas:


type = record, Data: Pointer;

end;

Код в додатку для наведеного вище прикладу виглядає так:

type = function: integer of object; stdcall;

CalculateSumObject (Method: TMethod): integer; stdcall; 'FirstLib.dll' name 'SumObject';

TForm1.GetNextValueObject: integer; stdcall; NSum <10 then begin (NSum);: = NSum; else Result: = -1;;

TForm1.Button10Click (Sender: TObject);: TGetNextValueObject;: = 0;: = GetNextValueObject;: = IntToStr (CalculateSumObject (TMethod (FGetNext)));

end;

Код в DLL, який здійснює виклик методу об'єкта, виглядає наступним чином:

type = function: integer of object; stdcall;

CalculateSumObject (Method: TMethod): integer; stdcall; export;: integer;: TReturnNextMethodObject;: = 0;: = 0;: = TReturnNextMethodObject (Method); N> = 0 do begin: = ReturnNext; N> = 0 then Result: = Result + N;

end;;


Слід враховувати, що методи об'єкта є залежними від мови, тобто в різних мовах програмування генеруються різні способи передачі даних в метод об'єкта. Тому даний приклад слід використовувати тільки у випадку, якщо і додаток, і DLL написані на Delphi (або на одному і тому ж мовою програмування). p align="justify"> І нарешті, сам додаток може експонувати методи таким же способом, що і DLL. У додатку можна створити секцію exports і оголосити імена (та/або індекси) методів. Після цього в DLL можна скористатися методом GetProcAddress для отримання покажчика на метод і викликати його. Для описаного вище прикладу код додатку буде такою:

function GetNextValueExport: integer; stdcall; export;

begin NSum <10 then begin (NSum);: = NSum; else Result: = -1;;

CalculateSumExport (HInstance: integer; MethodName: pchar): integer; stdcall; 'FirstLib.dll' name 'SumExport';

TForm1.Button11Click (Sender: TObject);: integer;: = 0;: = CalculateSumExport (HInstance, 'GetNextValueExport');: = IntToStr (N);;

{!! The section is announced in Application!!} Index 1 name 'GetNextValueExport';


Тепер в додатку (у проекті, де буде генеруватися *. exe-файл [U2] [NE3]) визначена секція exports! Відповідний код в DLL для тестування даного методу виглядає наступним чином:


type = function: integer; stdcall;


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





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

  • Реферат на тему: Графічний метод і симплекс-метод розв'язання задач лінійного програмува ...
  • Реферат на тему: Розробка бази даних для об'єкта автоматизації: гомеопатична аптека
  • Реферат на тему: Порівняння ефективності різних методів розв'язання систем лінійних алге ...
  • Реферат на тему: Розробка бази даних для об'єкта автоматизації: відділу обробки замовлен ...
  • Реферат на тему: Графічне додаток, керуюче рухом об'єкта