ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
