APIDb_NewDatabaseID
새로운 독립적인 디테일, 워크시트, 레이아웃, 또는 마스터 레이아웃 데이터베이스를 생성합니다.
GSErrCode ACAPI_Database ( APIDb_NewDatabaseID, API_DatabaseInfo* databaseInfo, const GS::Guid* parent, const GS::Guid* child );
파라미터
- databaseInfo
- [in/out] 생성할 데이터베이스의 파라미터들입니다.
- parent
- 새로운 항목의 부모입니다.
- child
- 만약 NULL이면, 새로운 항목이 실제 레벨 상에 있는 1번째 장소에 삽입될 것입니다. 그 외에는 child 이후에 삽입될 것입니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_NOPLAN
- 열린 평면도 창이 없습니다.
APIERR_BADPARS
databaseInfo
가NULL
입니다.APIERR_REFUSEDPAR
- 전달된
typeID
가APIWind_DetailID
,APIWind_WorksheetID
,APIWind_LayoutID
또는APIWind_MasterLayoutID
가 아닙니다. APIERR_GENERAL
- 새로운 데이터베이스를 생성할 수 없습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 주어진 name
과 ref
파라미터들을 이용하여 새로운 데이터베이스를 생성하는 데 사용합니다.
연관된 창이 열리지 않을 것입니다.
레이아웃 데이터베이스들의 경우, masterLayoutUnId
에 기존 마스터 레이아웃을 지정해야 합니다.
만약 데이터베이스가 성공적으로 생성되면, 데이터베이스의 유일 ID가 databaseUnId
필드에 리턴됩니다.
예제
API_DatabaseInfo dbInfo; BNZeroMemory (&dbInfo, sizeof (API_DatabaseInfo)); dbInfo.typeID = APIWind_DetailID; sprintf (dbInfo.name, "Dooku 1"); sprintf (dbInfo.ref, "D01"); if (ACAPI_Database (APIDb_NewDatabaseID, &dbInfo, NULL) == NoError) { char msgStr[1024]; sprintf (msgStr, "New detail database is created with unId:%d-%d", dbInfo.databaseUnId.id1, dbInfo.databaseUnId.id2); ACAPI_WriteReport (msgStr, true); }
예제 2
이 예제는 Navigator_Test 테스트 애드온을 기반으로 하고 있습니다.Int32 selected = DGTreeViewGetSelected (dialogID, NavTreeView, DG_TVI_ROOT); Int32 selParent = DGTreeViewGetItem (dialogID, NavTreeView, selected, DG_TVG_PARENT); GS::Guid parent = APIGuid2GSGuid (NavigatorTestGlobals::Instance ().GetNavigatorItem (TruncateTo32Bit (DGTreeViewGetItemUserData (dialogID, NavTreeView, selParent)))); GS::Guid child = APIGuid2GSGuid (NavigatorTestGlobals::Instance ().GetNavigatorItem (TruncateTo32Bit (DGTreeViewGetItemUserData (dialogID, NavTreeView, selected)))); API_DatabaseInfo dbInfo; BNZeroMemory (&dbInfo, sizeof (API_DatabaseInfo)); dbInfo.typeID = APIWind_LayoutID; GS::ucscpy (dbInfo.name, L("This Layout is created through API.\0")); dbInfo.masterLayoutUnId.id2 = 32; ACAPI_Database (APIDb_NewDatabaseID, &dbInfo, &parent, &child);
요구사항
- 버전: API 6.1 또는 이후
- 헤더: APIdefs_Database.h
참고사항
API_DatabaseInfo
APIDb_DeleteDatabaseID, APIDb_ModifyDatabaseID, APIDb_GetDatabaseInfoID
APIDb_GetCurrentDatabaseID, APIDb_ChangeCurrentDatabaseID, APIDb_NewWindowID
ACAPI_Database, API 함수