次元内の特定の世代について、名前とメンバーの一意性の設定を取得します。
構文
ESS_FUNC_M EssOtlGetGenName ( hOutline, pszDimension, usGen, ppszName, pbNameUnique );
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pszDimension |
ESS_STR_T |
対象の世代を含む次元の名前。 |
usGen |
ESS_USHORT_T |
名前を取得する世代の番号。次元は世代1です。 |
ppszName |
ESS_PSTR_T |
世代名が戻されるバッファ。APIによって割り当てられます。 |
pbNameUnique |
ESS_PBOOL_T |
メンバー名の一意性の設定。 |
備考
世代名はメンバーの名前スペース全体で一意の必要があります。他の世代、レベル、メンバー名、または別名と重複できません。重複した世代名を追加しようとすると、エラーが発生します。
世代名は自動的には付与されません。この関数で名前を戻すには、名前を割り当てておく必要があります。名前はEssOtlSetGenNameで割り当てられます
戻りバッファを解放するには、EssFree()を呼び出します。
戻り値
正常終了の場合は0が戻されます。それ以外はエラー・コードが戻されます。
例
void ESS_GetGenNameEx() { ESS_STS_T sts = 0; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_APPNAME_T szAppName; ESS_DBNAME_T szDbName; ESS_OBJNAME_T szFileName; ESS_STR_T Dimension; ESS_USHORT_T GenNum; ESS_STR_T GenName; ESS_BOOL_T bUnique= ESS_FALSE; memset(&Object, '\0', sizeof(Object)); Object.hCtx = hCtx; Object.ObjType = ESS_OBJTYPE_OUTLINE; strcpy(szAppName, "Demo"); strcpy(szDbName, "Test"); strcpy(szFileName, "Test"); Object.AppName = szAppName; Object.DbName = szDbName; Object.FileName = szFileName; sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE, ESS_TRUE, &hOutline); printf("EssOtlOpenOutline sts: %ld\n",sts); /*************** Set and Get GenName **************/ Dimension = "Year"; GenNum = 1; GenName = "Gen 1 Year"; //SetGenNameEx() so that Gen 1 members of Year cannot be non-unique if (!sts) { sts = EssOtlSetGenNameEx(hOutline, Dimension, GenNum, GenName, ESS_TRUE); } // GetGenNameEx() to see if the gen is able to be non-unique if (!sts) { sts = EssOtlGetGenNameEx(hOutline, Dimension, GenNum, &GenName, &bUnique); printf("Generation 1 members of Year have bUnique value of %ld\n", bUnique); printf("EssOtlGetGenNameEx sts: %ld\n",sts); } if (!sts && GenName) { printf("Gen Name: %s\n",GenName); EssFree(hInst, GenName); } }
関連トピック