Тип TObjectControlProc сервисной функции объекта |
Сервисная функция объекта предназначена для управления типом объекта. Управление типом подразумевает создание, удаление или проверку возможности создания объектов типа aObjType в контейнере aContainerType в зависимости от установки параметра aCommand.
Функция пишется для одного или нескольких родственных типов объектов.
Представляет собой callback-функцию. Передается в качестве параметра в функцию регистрации типа объекта, где и производится регистрация данной callback-функции.
function TObjectControlProc (aObjType : longInt; aContainerType : longInt; var aSelf : pointer; aCommand : longInt; aInfo : pointer) : longInt;
aObjType - тип объекта. Одна функция управления типом может обслуживать несколько родственных типов.
aContainerType - тип контейнера для объекта. Используется при создании и проверке возможности создания объектов.
aSelf - переменная, в которой возвращается указатель на созданный объект.
aCommand - код операции:
cfmCreate - создание объекта данного типа в заданном типе контейнера. Указатель на контейнер передается в aInfo. Указатель на созданный объект возвращается в aSelf;
cfmCheckCreate - проверка возможности создания объекта данного типа в заданном типе контейнера. Указатель на контейнер передается в aInfo;
cfmDestroy - удаление объекта данного типа.
aInfo - указатель на структуры дополнительной информации. Для cfmCreate и cfmCheckCreate - указатель на контейнер.
Возвращает константу кода ошибки:
cfErrInternalBadCommand;
cfErrObjectNotExist;
cfErrObjectAlreadyExist;
cfErrContainerSelfNotExist;
cfErrCantCreateObject;
cfErrCreateObjectError;
cfOk.