ВУЗ:
Составители:
Рубрика:
41
begin TNewIntfComponentObject(Obj):=Self;
TNewIntfComponentObject(Obj). AddRef;
Result: =S_OK;
end;
end;
function TnewIntfComponentObject. AddRef :Longint;
begin
Inc(FRefCount);
Inc(Global_Object_Count);
Result: = FRefCount;
end;
function TnewIntfComponentObject. Release :Longint;
begin
Dec(FRefCount);
Dec(Global_Object_Count);
Result: = FRefCount;
if FRefCount=0 then Destroy;
end;
………………….
Реализация методов нового интерфейса INew Interfase;
………………….
initialization
Global_Object_Count:=0;
End.
Для генерации составных объектов в сервер должен быть включен
специальный класс фабрики объектов TClassFactory с интерфейсом
IclassFactory, в котором только два метода CreateInstance и
LockServer.
Метод CreateInstance обеспечивает создание объекта того класса, с
которым связан объект типа TClassFactory, а метод LockServer
используется при создании нескольких объектов для сохранения
сервера в памяти. Описание класса TClassFactory и реализация его
двух методов выглядит следующим образом:
type
TClassFactory=( IClassFactory)
private
FRefCount:Longint;
public
function CreateInstance(unkOuter:IUnknown;
const IID:TGID;varObj): HResult;override;
function LockServer(fLock:Bool): HResult;override;
end;
begin TNewIntfComponentObject(Obj):=Self; TNewIntfComponentObject(Obj). AddRef; Result: =S_OK; end; end; function TnewIntfComponentObject. AddRef :Longint; begin Inc(FRefCount); Inc(Global_Object_Count); Result: = FRefCount; end; function TnewIntfComponentObject. Release :Longint; begin Dec(FRefCount); Dec(Global_Object_Count); Result: = FRefCount; if FRefCount=0 then Destroy; end; …………………. Реализация методов нового интерфейса INew Interfase; …………………. initialization Global_Object_Count:=0; End. Для генерации составных объектов в сервер должен быть включен специальный класс фабрики объектов TClassFactory с интерфейсом IclassFactory, в котором только два метода CreateInstance и LockServer. Метод CreateInstance обеспечивает создание объекта того класса, с которым связан объект типа TClassFactory, а метод LockServer используется при создании нескольких объектов для сохранения сервера в памяти. Описание класса TClassFactory и реализация его двух методов выглядит следующим образом: type TClassFactory=( IClassFactory) private FRefCount:Longint; public function CreateInstance(unkOuter:IUnknown; const IID:TGID;varObj): HResult;override; function LockServer(fLock:Bool): HResult;override; end; 41
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »