Creates an object of the specified object type and name and returns the object handle.
Syntax
ESS_FUNC_M EssOtlCreateObject (hOutline, objType, name, phObjHandle)
Parameter | Data Type | Description |
---|---|---|
hOutline | ESS_HOUTLINE_T | Outline handle (Edit mode only) |
objType | ESS_OBJECT_TYPES | Object type with one of the following values:
|
name | ESS_STR_T | String identifying the object |
phObjHandle | ESS_PHOBJECT_T | Returns the created object handle. |
Return Value
Returns:
0—If successful
Object created with handle in phObjHandle
Error number—If unsuccessful
No object created, and phObjHandle is NULL.
OTLAPI_ERR_OBJTYPE_NOTSUPPORTED
If invalid object type is passed.
Example
void TestCreateObject()
{
ESS_STS_T sts = ESS_STS_NOERR;
ESS_HOUTLINE_T hOutline = ESS_NULL;
ESS_OBJDEF_T Object;
ESS_OBJECT_TYPES objType;
ESS_STR_T smartListName;
ESS_HOBJECT_T ObjHandle;
ESS_ULONG_T Count, i;
ESS_PHOBJECT_T ObjHandles;
ESS_HOBJECT_T hObjHandle;
ESS_HSMARTLIST_T hSmartList;
ESS_STR_T objName;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
/* Open outline */
sts = EssOtlOpenOutline(hCtx, &Object,
ESS_TRUE, ESS_TRUE, &hOutline);
/* Create a static SmartList */
objType = OBJECT_SMARTLIST;
smartListName = "SList1";
sts = EssOtlCreateObject(hOutline, objType,
smartListName, &ObjHandle);
/* List all SmartList objects */
objType = OBJECT_SMARTLIST;
sts = EssOtlListObjects(hOutline, objType,
&Count, &ObjHandles);
/* Free resources */
if(ObjHandles)
EssFree (hInst, ObjHandles);
/* Save */
SaveOutline(hOutline);
/* Find objects */
objName = "SList1";
sts = EssOtlFindObject(hOutline, objType, objName,
&hObjHandle);
/* Delete objects */
hSmartList = (ESS_HSMARTLIST_T)hObjHandle;
sts = EssOtlDeleteObject(hOutline, hSmartList);
SaveOutline(hOutline);
if(ObjHandles)
EssFree (hInst, ObjHandles);
/* Unlock objects */
sts = EssUnlockObject(hCtx, Object.ObjType,
Object.AppName, Object.DbName, Object.FileName);
/* Close outline */
sts = EssOtlCloseOutline(hOutline);
}
See Also