指定されたオブジェクト・タイプと名前のオブジェクトを作成し、オブジェクト・ハンドルを戻します。
構文
ESS_FUNC_M EssOtlCreateObject ( hOutline , objType , name , phObjHandle )
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトライン・ハンドル(編集モードのみ) |
objType |
ESS_OBJECT_TYPES |
次のいずれかの値を持つオブジェクト・タイプ:
|
name |
ESS_STR_T |
オブジェクトを特定する文字列 |
phObjHandle |
ESS_PHOBJECT_T |
作成されたオブジェクト・ハンドルを戻します。 |
戻り値
戻り値:
0 - 正常終了の場合
ハンドルがphObjHandleのオブジェクトが作成される
エラー番号 - 失敗した場合
オブジェクトは作成されず、phObjHandleはNULL。
OTLAPI_ERR_OBJTYPE_NOTSUPPORTED
無効なオブジェクト・タイプが戻された場合。
例
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);
}
関連トピック