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_BADPARSdatabaseInfo가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 함수