ВУЗ:
Составители:
Рубрика:
39
ЛАБОРАТОРНАЯ РАБОТА № 8
СОЗДАНИЕ СЕРВЕРОВ СОСТАВНЫХ ОБЪЕКТОВ COM
Цель работы-овладения навыками программирования и
использования основных интерфейсов серверов составных объектов
COM в среде Delphi.
Базовым классом для всех интерфейсов COM-объектов является
интерфейс IUnknown, имеющий следующее описание в модуле
ActiveX среды программирования Delphi:
IUnknown =class
public
function QueryInterfase(const IID:TGID;var Obj):
HResult; virtual; stdcall; abstract;
function AddRef: Longint; virtual; stdcall; abstract;
function Release : Longint; virtual; stdcall; abstract;
end;
Поэтому описание нового интерфейса INewInterfase должно
выглядеть следующим образом:
INew Interfase=class(IUnknown)
public
Описание методов нового интерфейса
end;
В этом описании все новые методы должны быть чисто
виртуальными, т. е. иметь описатели virtual и abstract. Способ
передачи параметров обычно выбирается как stdcall.
Функция QueryInterfase использует глобальный идентификатор
интерфейса в качестве передаваемого параметра. Разрабатываемый
составной объект должен иметь глобально уникальный
идентификатор,
Который называется идентификатором класса CLSID. Типом
того и
другого идентификатора является запись следующего вида:
TCLSID=TGUID ;
TGUID=record
ЛАБОРАТОРНАЯ РАБОТА № 8 СОЗДАНИЕ СЕРВЕРОВ СОСТАВНЫХ ОБЪЕКТОВ COM Цель работы-овладения навыками программирования и использования основных интерфейсов серверов составных объектов COM в среде Delphi. Базовым классом для всех интерфейсов COM-объектов является интерфейс IUnknown, имеющий следующее описание в модуле ActiveX среды программирования Delphi: IUnknown =class public function QueryInterfase(const IID:TGID;var Obj): HResult; virtual; stdcall; abstract; function AddRef: Longint; virtual; stdcall; abstract; function Release : Longint; virtual; stdcall; abstract; end; Поэтому описание нового интерфейса INewInterfase должно выглядеть следующим образом: INew Interfase=class(IUnknown) public Описание методов нового интерфейса end; В этом описании все новые методы должны быть чисто виртуальными, т. е. иметь описатели virtual и abstract. Способ передачи параметров обычно выбирается как stdcall. Функция QueryInterfase использует глобальный идентификатор интерфейса в качестве передаваемого параметра. Разрабатываемый составной объект должен иметь глобально уникальный идентификатор, Который называется идентификатором класса CLSID. Типом того и другого идентификатора является запись следующего вида: TCLSID=TGUID ; TGUID=record 39
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »